:root{--color-primary:#2980b9;--color-primary-dark:#1c638f;--color-secondary:#e74c3c;--color-telecom:#06c;--color-mobile:#2ecc71;--color-unicom:#e67e22;--color-text:#2c3e50;--color-text-light:#7f8c8d;--color-background:#f9f9f9;--color-card:#fff;--color-border:#ecf0f1;--shadow-sm:0 2px 4px rgba(0,0,0,.05);--shadow-md:0 4px 8px rgba(0,0,0,.1);--shadow-lg:0 10px 20px rgba(0,0,0,.1);--border-radius:8px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:48px;--font-family:"Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--transition:all 0.3s ease}*{box-sizing:border-box;margin:0;padding:0}html{font-size:62.5%;scroll-behavior:smooth}body{background-color:var(--color-background);color:var(--color-text);font-family:var(--font-family);font-size:1.6rem;line-height:1.5}a{color:var(--color-primary);text-decoration:none;transition:var(--transition)}a:hover{color:var(--color-primary-dark)}ul{list-style:none}img{height:auto;max-width:100%}button{cursor:pointer;font-family:var(--font-family)}.container{margin:0 auto;max-width:1200px;padding:0 var(--spacing-md);width:100%}.btn{align-items:center;background-color:var(--color-primary);border:none;border-radius:var(--border-radius);box-shadow:var(--shadow-sm);color:#fff;display:inline-flex;font-size:1.4rem;font-weight:500;justify-content:center;padding:.8rem 1.6rem;transition:var(--transition)}.btn:hover{background-color:var(--color-primary-dark);box-shadow:var(--shadow-md)}.btn i{margin-right:var(--spacing-xs)}.btn--refresh{background-color:#3498db;color:#fff}.btn--refresh:hover{background-color:#2980b9}.btn--primary{background-color:var(--color-primary)}.btn--primary:hover{background-color:var(--color-primary-dark)}.header{background-color:#fff;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.header__wrapper{align-items:center;display:flex;height:8rem;justify-content:space-between}.logo{display:flex;flex-direction:column}.logo h1{color:var(--color-primary);font-size:2.6rem;font-weight:700;margin:0}.logo__slogan{color:var(--color-text-light);font-size:1.4rem}.nav__list{display:flex;gap:var(--spacing-lg)}.nav__link{color:var(--color-text);font-size:1.6rem;font-weight:500;padding:var(--spacing-sm) 0;position:relative}.nav__link:after{background-color:var(--color-primary);bottom:0;content:"";height:2px;left:0;position:absolute;transition:var(--transition);width:0}.nav__link.active,.nav__link:hover{color:var(--color-primary)}.nav__link.active:after,.nav__link:hover:after{width:100%}.nav__link[data-operator=telecom]{color:var(--color-telecom)}.nav__link[data-operator=mobile]{color:var(--color-mobile)}.nav__link[data-operator=unicom]{color:var(--color-unicom)}.nav__link[data-operator=telecom]:after{background-color:var(--color-telecom)}.nav__link[data-operator=mobile]:after{background-color:var(--color-mobile)}.nav__link[data-operator=unicom]:after{background-color:var(--color-unicom)}.hero{background:linear-gradient(135deg,#3498db,#8e44ad);color:#fff;padding:var(--spacing-xxl) 0;text-align:center}.hero__title{font-size:3.6rem;font-weight:700;margin-bottom:var(--spacing-md)}.hero__subtitle{font-size:1.8rem;margin-bottom:var(--spacing-xl);opacity:.9}.hero__stats{display:flex;gap:var(--spacing-xxl);justify-content:center;margin-bottom:var(--spacing-lg)}.stat-item{text-align:center}.stat-item__value{font-size:3.2rem;font-weight:700;margin-bottom:var(--spacing-xs)}.stat-item__label{font-size:1.6rem;opacity:.9}.hero__update{font-size:1.4rem;opacity:.8}.search-bar{background-color:#fff;box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg) 0}.search-bar__wrapper{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between}.search-input{flex:1;min-width:300px;position:relative}.search-input i{color:var(--color-text-light);left:var(--spacing-md);position:absolute;top:50%;transform:translateY(-50%)}.search-input input{border:1px solid var(--color-border);border-radius:var(--border-radius);font-size:1.5rem;padding:1.2rem 1.2rem 1.2rem 4rem;transition:var(--transition);width:100%}.search-input input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(41,128,185,.1);outline:none}.filters{display:flex;gap:var(--spacing-md)}.filter{align-items:center;display:flex;gap:var(--spacing-xs)}.filter label{color:var(--color-text-light);font-size:1.4rem;font-weight:500}.filter select{background-color:#fff;border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;font-size:1.4rem;padding:.8rem var(--spacing-md);transition:var(--transition)}.filter select:focus{border-color:var(--color-primary);outline:none}.cards-section{margin-bottom:var(--spacing-xxl);scroll-margin-top:8rem}.section-header{margin-bottom:var(--spacing-lg);text-align:center}.section-title{color:var(--color-primary);font-size:2.8rem;font-weight:700;margin-bottom:var(--spacing-xs)}#telecom .section-title{color:var(--color-telecom)}#mobile .section-title{color:var(--color-mobile)}#unicom .section-title{color:var(--color-unicom)}.section-desc{color:var(--color-text-light);font-size:1.6rem}.cards-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.loading{grid-column:1/-1;padding:var(--spacing-xxl) 0;text-align:center}.spinner{animation:spin 1s ease-in-out infinite;border:3px solid rgba(41,128,185,.2);border-radius:50%;border-top:3px solid var(--color-primary);display:inline-block;height:40px;margin-bottom:var(--spacing-md);width:40px}@keyframes spin{to{transform:rotate(1turn)}}.card{background-color:var(--color-card);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:var(--transition)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.card__operator{align-items:center;background-color:#f5f8fa;display:flex;justify-content:space-between;padding:var(--spacing-sm)}.operator-logo{height:28px}.operator-tag{border-radius:12px;color:#fff;font-size:1.2rem;font-weight:500;padding:.4rem .8rem}.card__header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-md)}.card__title{flex:1;font-size:1.8rem;font-weight:600;margin:0}.card__price{text-align:right}.price__value{color:var(--color-secondary);font-size:2.2rem;font-weight:700}.price__unit{color:var(--color-text-light);font-size:1.2rem}.card__content{flex-grow:1;padding:var(--spacing-md)}.card__features{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);width:100%}.feature-left{border-radius:var(--border-radius);box-shadow:var(--shadow-sm);flex:0 0 40%;overflow:hidden;position:relative}.feature-left img{height:100%;-o-object-fit:fill;object-fit:fill;transition:transform .3s ease;width:100%}.card:hover .feature-left img{transform:scale(1.05)}.feature-right{display:flex;flex:0 0 60%;flex-direction:column;justify-content:space-between}.feature{align-items:center;display:flex;margin-bottom:var(--spacing-sm)}.feature:last-child{margin-bottom:0}.feature i{color:var(--color-primary);font-size:1.6rem;text-align:center;width:20px}.feature i,.feature__name{margin-right:var(--spacing-sm)}.feature__name{color:var(--color-text-light);min-width:35px}.feature__value{font-size:1.5rem;font-weight:500}.card__tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.tag{background-color:#f0f3f4;border-radius:12px;color:var(--color-text-light);font-size:1.2rem;padding:.4rem .8rem}.card__footer{align-items:center;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-md)}.card__area{font-size:1.3rem}.area-type{border-radius:4px;font-weight:500;padding:.3rem .6rem}.area-type.national{background-color:#e8f6f3;color:#16a085}.area-type.provincial{background-color:#fef9e7;color:#f39c12}.card__btn{font-size:1.3rem;padding:.6rem 1.2rem}.modal{align-items:center;background-color:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:fixed;right:0;top:0;transition:var(--transition);visibility:hidden;z-index:1000}.modal.active{opacity:1;visibility:visible}.modal__content{animation:modalAppear .3s forwards;background-color:#fff;border-radius:var(--border-radius);box-shadow:var(--shadow-lg);max-height:90vh;max-width:700px;overflow-y:auto;position:relative;width:90%}@keyframes modalAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal__close{background:none;border:none;color:var(--color-text-light);font-size:2.4rem;position:absolute;right:var(--spacing-md);top:var(--spacing-md);z-index:10}.modal__header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.modal__title{font-size:2.2rem;font-weight:600;margin:0}.modal__body{padding:var(--spacing-lg)}.modal__features{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-lg)}.feature-item{gap:var(--spacing-sm)}.feature-icon,.feature-item{align-items:center;display:flex}.feature-icon{background-color:#f0f3f4;border-radius:50%;color:var(--color-primary);font-size:1.8rem;height:40px;justify-content:center;width:40px}.feature-info{flex:1}.feature-name{color:var(--color-text-light);font-size:1.3rem;margin-bottom:2px}.feature-value{font-size:1.6rem;font-weight:500}.modal__details{background-color:#f9f9f9;border-radius:var(--border-radius);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.detail-item{display:flex;flex-direction:column;margin-bottom:var(--spacing-md)}.detail-item:last-child{margin-bottom:0}.detail-label{color:var(--color-text-light);font-size:1.4rem;font-weight:500;margin-bottom:4px}.detail-value{font-size:1.5rem;line-height:1.4}.modal__tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.modal__footer{border-top:1px solid var(--color-border);padding:var(--spacing-lg);text-align:center}.modal__btn{font-size:1.6rem;padding:1rem 2.4rem}.footer{background-color:#2c3e50;color:#fff;padding:var(--spacing-xxl) 0 var(--spacing-lg)}.footer__wrapper{display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:var(--spacing-xl)}.footer__title{color:#ecf0f1;font-size:1.8rem;font-weight:600;margin-bottom:var(--spacing-md)}.footer p{color:#bdc3c7;font-size:1.5rem;line-height:1.6}.footer__links ul{display:flex;flex-direction:column;gap:var(--spacing-sm)}.footer__links a{color:#bdc3c7;font-size:1.5rem;transition:var(--transition)}.footer__links a:hover{color:#fff}.footer__contact p{align-items:center;display:flex;margin-bottom:var(--spacing-sm)}.footer__contact i{color:#3498db;margin-right:var(--spacing-sm)}.footer__contact a{color:#bdc3c7}.footer__contact a:hover{color:#fff}.footer__bottom{border-top:1px solid hsla(0,0%,100%,.1);padding-top:var(--spacing-lg);text-align:center}.copyright{color:#95a5a6;font-size:1.4rem;margin-bottom:var(--spacing-sm)}.footer__disclaimer{color:#7f8c8d;font-size:1.3rem}@media(max-width:768px){html{font-size:60%}.header__wrapper{flex-direction:column;gap:var(--spacing-md);height:auto;padding:var(--spacing-md) 0}.nav__list{justify-content:center}.search-bar__wrapper{align-items:stretch;flex-direction:column}.filters{justify-content:space-between}.hero__stats{gap:var(--spacing-lg)}.modal__features{grid-template-columns:1fr}}@media(max-width:576px){.hero{padding:var(--spacing-xl) 0}.hero__title{font-size:2.8rem}.hero__stats{flex-direction:column;gap:var(--spacing-md)}.footer__wrapper{grid-template-columns:1fr}.card__features{flex-direction:column}.feature-left{height:160px;margin-bottom:var(--spacing-md)}.feature-left,.feature-right{flex:none;width:100%}}.lazy-image{opacity:0;transition:opacity .6s ease-in-out,transform .3s ease}.lazy-image.loading{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;opacity:.6}.lazy-image.loaded{opacity:1;transform:scale(1)}.lazy-image.error{filter:grayscale(100%);opacity:.7}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.operator-logo{border-radius:8px;height:40px;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease,box-shadow .3s ease;width:40px}.operator-logo:hover{box-shadow:0 4px 12px rgba(0,0,0,.15);transform:scale(1.1)}.qrcode-image{border-radius:12px;transition:transform .3s ease,box-shadow .3s ease}.qrcode-image:hover{box-shadow:0 8px 24px rgba(0,0,0,.15);transform:scale(1.05)}