.selfstorage-error{color:#d63638;padding:10px;background:#fef7f7;border-left:4px solid #d63638;margin:15px 0}.selfstorage-form{max-width:800px;margin:0 auto}.selfstorage-form h3{margin-top:0;margin-bottom:15px}.form-row{display:flex;gap:20px;margin-bottom:12px}.form-group{flex:1}.form-group label{display:block;margin-bottom:3px;font-weight:600;font-size:14px}.form-group .required{color:#d63638}.form-group .description{font-size:12px;margin-top:5px;color:#666;line-height:1.4}.form-section-description{font-size:13px;margin-bottom:15px;color:#666;line-height:1.5}.selfstorage-reservation-phone-notice{width:100%;margin:0 0 16px;padding:12px 16px;background:#f0f6fc;border-left:4px solid #2271b1;border-radius:0 4px 4px 0;box-sizing:border-box}.selfstorage-reservation-phone-notice__text{margin:0;max-width:none;width:100%;font-size:14px;line-height:1.6;color:#1d2327;white-space:normal;word-wrap:break-word}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2271b1;box-shadow:0 0 0 1px #2271b1}.form-group button.load-units-btn{margin-top:8px}.form-messages{margin:12px 0;padding:10px;border-radius:4px}.form-actions{margin-top:15px;margin-bottom:0}.form-messages.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.form-messages.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.selfstorage-location-info{margin:20px 0}.selfstorage-location-info>div{margin-bottom:25px}.selfstorage-location-info h3{margin-bottom:10px;font-size:1.3em}.selfstorage-location-address address{font-style:normal;line-height:1.6}.selfstorage-location-phone,.selfstorage-location-email{margin:10px 0}.selfstorage-location-phone a,.selfstorage-location-email a{color:#2271b1;text-decoration:none}.selfstorage-location-phone a:hover,.selfstorage-location-email a:hover{text-decoration:underline}.selfstorage-location-map{margin:20px 0;border-radius:8px;overflow:hidden}.hours-list{list-style:none;padding:0}.hours-list li{padding:8px 0;border-bottom:1px solid #eee}.hours-list li:last-child{border-bottom:none}.selfstorage-units{margin:20px 0}.selfstorage-units-admin-source-banner{margin:0 0 20px;padding:14px 16px;background:#f0f6fc;border:1px solid #c3d9ed;border-left:4px solid #2271b1;border-radius:4px;font-size:.95em;line-height:1.45;color:#1d2327}.selfstorage-units-admin-source-banner-title{margin:0 0 8px;font-weight:600;font-size:1em}.selfstorage-units-admin-source-banner-body,.selfstorage-units-admin-source-banner-foot{margin:0 0 10px}.selfstorage-units-admin-source-banner-list-intro{margin:0 0 6px;font-weight:600}.selfstorage-units-admin-source-banner-list{margin:0 0 10px 1.25em;padding:0}.selfstorage-unit-admin-source{margin:-8px -8px 12px;padding:10px 12px;background:#fcf9e8;border:1px solid #dba617;border-radius:6px;font-size:.85em;line-height:1.4;color:#1d2327}.selfstorage-unit-admin-source-badge{margin:0 0 6px;font-weight:600}.selfstorage-unit-admin-source-desc{margin:0 0 8px}.selfstorage-unit-admin-source-fields-heading{margin:0 0 4px;font-weight:600;font-size:.95em}.selfstorage-unit-admin-source-fields{margin:0;padding-left:1.1em}.selfstorage-unit-admin-source-fields li{margin-bottom:4px}.selfstorage-units-filters{display:flex;gap:15px;margin-bottom:25px;padding:15px;background:#f9f9f9;border-radius:8px}.filter-group{flex:1}.filter-group label{display:block;margin-bottom:5px;font-weight:600}.filter-group select{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px}.selfstorage-units-grid{display:grid;gap:20px;margin-top:20px}.selfstorage-units-grid.columns-2{grid-template-columns:repeat(2,1fr)}.selfstorage-units-grid.columns-3{grid-template-columns:repeat(3,1fr)}.selfstorage-units-grid.columns-4{grid-template-columns:repeat(4,1fr)}.selfstorage-unit-card{border:1px solid #ddd;border-radius:8px;padding:20px;background:#fff;transition:box-shadow 0.3s ease}.selfstorage-unit-card:hover{box-shadow:0 4px 12px rgb(0 0 0 / .1)}.unit-header{margin-bottom:15px}.unit-card-title,.unit-type{margin:0 0 5px 0;font-size:1.2em;color:#333}.unit-size{color:#666;font-size:.9em}.unit-price{margin:15px 0;padding:10px;background:#f0f8ff;border-radius:4px;text-align:center}.price-amount{font-size:1.8em;font-weight:700;color:#2271b1}.price-period{font-size:.9em;color:#666}.unit-features{list-style:none;padding:0;margin:15px 0}.unit-features li{padding:5px 0;padding-left:20px;position:relative}.unit-features li:before{content:"✓";position:absolute;left:0;color:#2271b1;font-weight:700}.unit-actions{display:flex;flex-direction:column;gap:10px;margin-top:15px}.unit-insurance-wrap{position:relative;width:100%;margin-bottom:8px}.unit-insurance-wrap::after{content:"";position:absolute;top:50%;right:14px;width:0;height:0;margin-top:-3px;border-left:5px solid #fff0;border-right:5px solid #fff0;border-top:6px solid #50575e;pointer-events:none}.unit-insurance-select{display:block;width:100%;max-width:100%;box-sizing:border-box;padding:10px 36px 10px 12px;font-size:.95em;font-weight:600;line-height:1.4;color:#1d2327;border:2px solid #8c8f94;border-radius:4px;background-color:#fff;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.unit-insurance-select:hover,.unit-insurance-select:focus{border-color:#2271b1;outline:none;box-shadow:0 0 0 1px #2271b1}.unit-action-buttons{display:flex;flex-direction:column;gap:3px;margin-top:4px}.unit-action-separator{display:none}.unit-action-buttons .button{flex:none;width:100%;padding:10px 12px;border:2px solid #8c8f94;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;line-height:1.3;transition:background 0.3s ease,border-color 0.3s ease;box-sizing:border-box}.unit-action-buttons .get-cost-btn{background:#f0f6fc;color:#135e96;border-color:#2271b1}.unit-action-buttons .get-cost-btn:hover{background:#e2eef8;border-color:#135e96}@media (min-width:1025px){.unit-action-buttons{flex-direction:row;align-items:stretch;gap:3px}.unit-action-buttons .button{flex:1;width:auto}}.unit-action-buttons .button-primary{background:#2271b1;color:#fff;border-color:#2271b1}.unit-action-buttons .button-primary:hover{background:#135e96;border-color:#135e96}.unit-action-buttons .rent-btn{background:#fff;color:#1d2327;border-color:#8c8f94}.unit-cost-details{margin-top:15px;padding:15px;background:#f9f9f9;border-radius:4px;display:none}.unit-cost-details p{display:flex;justify-content:space-between;align-items:baseline;gap:.75em;margin-top:0;margin-bottom:0}.unit-cost-details p+p{margin-top:.35em}.selfstorage-no-units{text-align:center;padding:40px;color:#666}.selfstorage-cost-modal{position:fixed;z-index:10000;left:0;top:0;width:100%;height:100%;background-color:rgb(0 0 0 / .5);display:flex;align-items:center;justify-content:center}.selfstorage-cost-modal .modal-content{background:#fff;padding:30px;border-radius:8px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;position:relative}.modal-close{position:absolute;right:15px;top:15px;font-size:28px;font-weight:700;color:#999;cursor:pointer;line-height:1}.modal-close:hover{color:#333}.selfstorage-images{margin:20px 0}.images-grid{display:grid;gap:15px}.selfstorage-images.columns-2 .images-grid{grid-template-columns:repeat(2,1fr)}.selfstorage-images.columns-3 .images-grid{grid-template-columns:repeat(3,1fr)}.selfstorage-images.columns-4 .images-grid{grid-template-columns:repeat(4,1fr)}.image-item{position:relative;overflow:hidden;border-radius:8px}.image-item img{width:100%;height:auto;display:block;transition:transform 0.3s ease}.image-item:hover img{transform:scale(1.05)}.image-caption{padding:10px;background:rgb(0 0 0 / .7);color:#fff;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%);transition:transform 0.3s ease}.image-item:hover .image-caption{transform:translateY(0)}.selfstorage-lightbox{position:fixed;z-index:10001;left:0;top:0;width:100%;height:100%;background-color:rgb(0 0 0 / .9);display:flex;align-items:center;justify-content:center}.lightbox-close{position:absolute;right:30px;top:30px;font-size:40px;font-weight:700;color:#fff;cursor:pointer;z-index:10002}.lightbox-image{max-width:90%;max-height:90%;object-fit:contain}.lightbox-caption{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);color:#fff;text-align:center;padding:10px 20px;background:rgb(0 0 0 / .7);border-radius:4px}.selfstorage-reviews{margin:20px 0}.reviews-list{display:flex;flex-direction:column;gap:20px}.review-item{padding:20px;border:1px solid #ddd;border-radius:8px;background:#fff}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.review-author{display:flex;flex-direction:column;gap:5px}.review-date{font-size:.9em;color:#666}.review-rating{display:flex;align-items:center;gap:5px}.star{color:#ddd;font-size:1.2em}.star.filled{color:#ffc107}.star.half{color:#ffc107;opacity:.5}.rating-value{margin-left:5px;font-weight:600}.review-comment{line-height:1.6;color:#333}.hours-table{width:100%;border-collapse:collapse;margin:20px 0}.hours-table th,.hours-table td{padding:12px;text-align:left;border-bottom:1px solid #eee}.hours-table th{background:#f9f9f9;font-weight:600}.hours-table tr:hover{background:#f9f9f9}.selfstorage-features{margin:20px 0}.features-list{list-style:none;padding:0;display:grid;gap:15px}.selfstorage-features.columns-2 .features-list{grid-template-columns:repeat(2,1fr)}.selfstorage-features.columns-3 .features-list{grid-template-columns:repeat(3,1fr)}.feature-item{display:flex;gap:15px;padding:15px;border:1px solid #ddd;border-radius:8px;background:#fff}.feature-icon{flex-shrink:0}.feature-bullet{display:inline-block;width:24px;height:24px;line-height:24px;text-align:center;background:#2271b1;color:#fff;border-radius:50%;font-size:14px}.feature-content{flex:1}.feature-name{display:block;margin-bottom:5px}.feature-description{margin:0;color:#666;font-size:.9em}.selfstorage-payment-portal{display:inline-block;padding:12px 24px;text-decoration:none;border-radius:4px;transition:background 0.3s ease}.selfstorage-payment-portal.button{background:#2271b1;color:#fff}.selfstorage-payment-portal.button:hover{background:#135e96}.unit-status-badge{display:inline-block;padding:4px 8px;border-radius:3px;font-size:.85em;font-weight:600;margin-top:5px}.unit-status-badge.status-available{background:#d4edda;color:#155724}.unit-status-badge.status-occupied{background:#f8d7da;color:#721c24}.unit-tenant{margin:10px 0;padding:8px;background:#f9f9f9;border-radius:4px;font-size:.9em}.unit-occupied-note{margin-top:15px;padding:10px;background:#fff3cd;border-left:3px solid #ffc107;color:#856404}.unit-status-occupied{opacity:.8}.unit-status-occupied .unit-price{background:#f0f0f0;color:#666}.selfstorage-waiting-list{margin:20px 0}.waiting-list-form-container{background:#fff;border:1px solid #ddd;border-radius:8px;padding:25px;margin-bottom:30px}.waiting-list-display{margin-top:30px}.waiting-list-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #ddd;border-radius:4px;overflow:hidden}.waiting-list-table th,.waiting-list-table td{padding:12px;text-align:left;border-bottom:1px solid #eee}.waiting-list-table th{background:#f9f9f9;font-weight:600}.waiting-list-table tr:hover{background:#f9f9f9}.waiting-list-table tr:last-child td{border-bottom:none}.waiting-list-empty{padding:20px;text-align:center;color:#666;background:#f9f9f9;border-radius:4px}.selfstorage-no-units-message{background:#fff3cd;border:1px solid #ffc107;padding:20px;border-radius:4px;margin:20px 0}.selfstorage-no-units-message h3{margin-top:0;color:#856404}.selfstorage-no-units-message ul{margin:15px 0;padding-left:20px}.selfstorage-no-units-message li{margin:8px 0}.selfstorage-filters{margin:20px 0;padding:20px;background:#f9f9f9;border:1px solid #ddd;border-radius:8px}.selfstorage-filters h3{margin-top:0;margin-bottom:20px}.filter-row{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap}.filter-group{flex:1;min-width:200px}.filter-group label{display:block;margin-bottom:8px;font-weight:600;font-size:14px}.filter-group input[type="number"],.filter-group select{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.filter-group input[type="number"]:focus,.filter-group select:focus{outline:none;border-color:#2271b1;box-shadow:0 0 0 1px #2271b1}.price-range,.size-range{display:flex;align-items:center;gap:10px}.price-range input,.size-range input{flex:1}.price-range span,.size-range span{color:#666;font-size:14px}.filter-actions{margin-top:20px;padding-top:20px;border-top:1px solid #ddd}.filter-actions-buttons{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}.filter-results-summary,.filter-climate-rollup{margin:0 0 8px 0;font-size:14px;color:#555;line-height:1.4}.filter-climate-rollup{font-size:13px;color:#444}.filter-actions .button{padding:10px 20px;background:#666;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background 0.3s ease}.filter-actions .button.button-primary{background:#2271b1}.filter-actions .button.button-primary:hover{background:#135e96}.filter-actions .button:not(.button-primary):hover{background:#555}.no-units-message{margin-top:20px;padding:15px;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;text-align:center}.selfstorage-availability-calendar{margin:20px 0}.availability-filters{margin:20px 0;padding:15px;background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px}.availability-filters .filter-group{flex:1;min-width:200px}.availability-filters label{display:block;margin-bottom:5px;font-weight:700;color:#333}.availability-filters select{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.availability-filters button{padding:8px 15px;background-color:#666;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color 0.3s}.availability-filters button:hover{background-color:#555}#availability-no-results{display:none;padding:20px;text-align:center;color:#666;font-style:italic}.availability-table{width:100%;border-collapse:collapse;margin-top:20px;background:#fff;border:1px solid #ddd;border-radius:4px;overflow:hidden}.availability-table th,.availability-table td{padding:12px;text-align:left;border:1px solid #ddd}.availability-table th{background:#f9f9f9;font-weight:600}.availability-table tr:hover{background:#f9f9f9}.comparison-modal{position:fixed;z-index:10000;left:0;top:0;width:100%;height:100%;background-color:rgb(0 0 0 / .5);display:flex;align-items:center;justify-content:center}.comparison-modal .comparison-content{background:#fff;padding:30px;border-radius:8px;max-width:90%;max-height:90%;overflow:auto;position:relative;margin:50px auto}.comparison-modal .close{position:absolute;right:15px;top:15px;font-size:28px;font-weight:700;color:#999;cursor:pointer;line-height:1}.comparison-modal .close:hover{color:#333}.comparison-table-inner{width:100%;border-collapse:collapse;margin-top:20px}.comparison-table-inner th,.comparison-table-inner td{padding:10px;text-align:left;border:1px solid #ddd}.comparison-table-inner th{background:#f5f5f5;font-weight:600}.comparison-table-inner tr:hover{background:#f9f9f9}.compare-checkbox{display:block;margin-bottom:10px;cursor:pointer;font-size:14px}.compare-checkbox input[type="checkbox"]{margin-right:5px;cursor:pointer}.compare-units-btn{margin:20px 0;padding:12px 24px;font-size:16px;display:none}@media (max-width:768px){.form-row{flex-direction:column}.selfstorage-units-grid.columns-2,.selfstorage-units-grid.columns-3,.selfstorage-units-grid.columns-4{grid-template-columns:1fr}.selfstorage-images.columns-2,.selfstorage-images.columns-3,.selfstorage-images.columns-4{grid-template-columns:1fr}.selfstorage-features.columns-2,.selfstorage-features.columns-3{grid-template-columns:1fr}.selfstorage-units-filters{flex-direction:column}.review-header{flex-direction:column;align-items:flex-start}.filter-row{flex-direction:column}.price-range,.size-range{flex-direction:column;align-items:stretch}.price-range span,.size-range span{display:none}.availability-table{font-size:12px}.availability-table th,.availability-table td{padding:8px}.selfstorage-unit-types-grid.columns-2,.selfstorage-unit-types-grid.columns-3,.selfstorage-unit-types-grid.columns-4{grid-template-columns:1fr}}.selfstorage-unit-types-display{margin:30px 0}.selfstorage-unit-types-display h2{margin-bottom:10px;font-size:28px;color:#333}.selfstorage-unit-types-display .description{margin-bottom:25px;color:#666;font-size:16px}.selfstorage-unit-types-grid{display:grid;gap:25px;margin-top:20px}.selfstorage-unit-types-grid.columns-2{grid-template-columns:repeat(2,1fr)}.selfstorage-unit-types-grid.columns-3{grid-template-columns:repeat(3,1fr)}.selfstorage-unit-types-grid.columns-4{grid-template-columns:repeat(4,1fr)}.selfstorage-unit-type-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;box-shadow:0 2px 4px rgb(0 0 0 / .1);transition:box-shadow 0.3s ease,transform 0.2s ease;display:flex;flex-direction:column}.selfstorage-unit-type-card:hover{box-shadow:0 4px 8px rgb(0 0 0 / .15);transform:translateY(-2px)}.unit-type-header{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #eee}.unit-type-title{margin:0 0 8px 0;font-size:20px;font-weight:600;color:#333}.unit-size{font-size:16px;color:#666;margin-bottom:5px}.unit-square-footage{font-size:14px;color:#888}.unit-type-price{margin:15px 0;text-align:center}.unit-type-price .price-amount{font-size:32px;font-weight:700;color:#2271b1}.unit-type-price .price-period{font-size:14px;color:#666;margin-left:5px}.unit-type-availability{margin:15px 0;text-align:center}.available-badge{display:inline-block;padding:6px 12px;background:#d4edda;color:#155724;border-radius:4px;font-size:14px;font-weight:600}.unavailable-badge{display:inline-block;padding:6px 12px;background:#f8d7da;color:#721c24;border-radius:4px;font-size:14px;font-weight:600}.unit-type-actions{margin-top:auto;padding-top:15px;display:flex;gap:10px;flex-direction:column}.unit-type-actions .button{width:100%;padding:12px 20px;font-size:16px;font-weight:600;text-align:center;border-radius:4px;cursor:pointer;transition:background-color 0.3s ease,transform 0.2s ease}.unit-type-actions .button-primary{background:#2271b1;color:#fff;border:none}.unit-type-actions .button-primary:hover{background:#135e96;transform:translateY(-1px)}.unit-type-actions .button:not(.button-primary){background:#fff;color:#2271b1;border:2px solid #2271b1}.unit-type-actions .button:not(.button-primary):hover{background:#f0f6fc;transform:translateY(-1px)}.selfstorage-rental-form-container{margin:30px 0}.selfstorage-rental-form-container h2{margin-bottom:10px;font-size:28px;color:#333}@media (max-width:1024px){.selfstorage-unit-types-grid.columns-4{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.selfstorage-unit-types-grid.columns-2,.selfstorage-unit-types-grid.columns-3,.selfstorage-unit-types-grid.columns-4{grid-template-columns:1fr}.unit-type-price .price-amount{font-size:28px}}.selfstorage-rent-roll-wrap{margin:1.5em 0}.selfstorage-rent-roll-note.description{font-size:.9em;color:#50575e;margin-bottom:1em}.selfstorage-rent-roll-table{width:100%;border-collapse:collapse;font-size:14px}.selfstorage-rent-roll-table th,.selfstorage-rent-roll-table td{padding:10px 12px;border:1px solid #c3c4c7;text-align:left}.selfstorage-rent-roll-table thead th{background:#f6f7f7;font-weight:600}.selfstorage-rent-roll-table tbody tr:nth-child(even){background:#fcfcfc}.selfstorage-form{max-width:800px!important}.selfstorage-form .form-row{margin-bottom:12px!important}.selfstorage-form .form-group label{margin-bottom:6px!important;color:#000000!important;font-size:14px!important}.selfstorage-form .form-group input,.selfstorage-form .form-group select,.selfstorage-form .form-group textarea{padding:10px 10px!important;border-color:#ddd!important;font-size:14px!important;border-radius:10px!important}.selfstorage-form .form-group input:focus,.selfstorage-form .form-group select:focus,.selfstorage-form .form-group textarea:focus{border-color:#dd3333!important;box-shadow:0 0 0 1px #dd3333!important}.selfstorage-form .button-primary,.selfstorage-form .button.button-primary{background-color:#dd3333!important;color:#fff!important;border-radius:10px!important;border:none!important}.selfstorage-form .button-primary:hover,.selfstorage-form .button.button-primary:hover{background-color:#dd3333!important}.selfstorage-form .button:not(.button-primary){border-radius:10px!important}.selfstorage-form .form-group .description{font-size:12px!important}.selfstorage-form .form-section-description{font-size:13px!important}