/*
Theme Name: BangZun 400
Theme URI: https://www.400tell.com
Author: Chongqing BangZun Technology Co., Ltd.
Author URI: https://www.400tell.com
Description: Professional 400 telephone service theme for Chongqing BangZun Technology. Features custom case management, article management, pricing tables, and responsive design.
Version: 1.0.0
Requires at least: 5.0
Tested up to: 6.6
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bangzun-400
Tags: business, corporate, responsive, custom-menu, custom-post-types, featured-images, translation-ready
*/

/* ===== CSS Reset & Base ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --primary:#1a56db;
  --primary-dark:#1541b0;
  --primary-light:#3b82f6;
  --accent:#f59e0b;
  --accent-dark:#d97706;
  --success:#10b981;
  --danger:#ef4444;
  --dark:#1e293b;
  --gray-50:#f8fafc;
  --gray-100:#f1f5f9;
  --gray-200:#e2e8f0;
  --gray-300:#cbd5e1;
  --gray-400:#94a3b8;
  --gray-500:#64748b;
  --gray-600:#475569;
  --gray-700:#334155;
  --gray-800:#1e293b;
  --gray-900:#0f172a;
  --white:#ffffff;
  --radius:8px;
  --radius-lg:16px;
  --shadow-sm:0 1px 2px rgba(0,0,0,.06);
  --shadow:0 4px 6px -1px rgba(0,0,0,.08),0 2px 4px -2px rgba(0,0,0,.05);
  --shadow-lg:0 10px 15px -3px rgba(0,0,0,.08),0 4px 6px -4px rgba(0,0,0,.05);
  --shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.05);
  --container:1200px;
  --transition:all .3s ease;
}

html{font-size:16px;scroll-behavior:smooth}
body{
  font-family:"Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
  color:var(--gray-800);
  background:var(--white);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
a{color:var(--primary);text-decoration:none;transition:var(--transition)}
a:hover{color:var(--primary-dark)}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}

.container{max-width:var(--container);margin:0 auto;padding:0 20px}

/* ===== Top Bar ===== */
.top-bar{background:var(--gray-800);color:var(--gray-300);font-size:.8rem;padding:6px 0}
.top-bar .container{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.top-bar a{color:var(--gray-300)}
.top-bar a:hover{color:var(--white)}
.top-bar .top-links{display:flex;gap:16px}
.top-bar .phone{font-weight:600;color:var(--accent)}

/* ===== Header ===== */
.site-header{background:var(--white);box-shadow:var(--shadow);position:sticky;top:0;z-index:1000;transition:var(--transition)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;gap:20px}
.site-branding{display:flex;align-items:center;gap:10px}
.site-branding .logo-text{font-size:1.4rem;font-weight:800;color:var(--dark)}
.site-branding .logo-text span{color:var(--primary)}
.site-branding .tagline{font-size:.7rem;color:var(--gray-500)}

.main-navigation ul{display:flex;gap:4px;align-items:center;white-space:nowrap}
.main-navigation li a{display:block;padding:10px 16px;color:var(--gray-700);font-weight:500;font-size:.95rem;border-radius:var(--radius);transition:var(--transition);white-space:nowrap}
.main-navigation li a:hover,.main-navigation .current-menu-item>a{background:var(--primary);color:var(--white)}
.header-phone{display:flex;align-items:center;gap:6px;font-size:1.1rem;font-weight:700;color:var(--primary);white-space:nowrap}
.header-phone .phone-icon{font-size:1.3rem}

.menu-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--dark)}

/* ===== Hero Section ===== */
.hero{background:linear-gradient(135deg,#1a56db 0%,#2563eb 50%,#3b82f6 100%);color:var(--white);padding:60px 0;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;top:-50%;right:-10%;width:500px;height:500px;background:rgba(255,255,255,.05);border-radius:50%}
.hero::after{content:"";position:absolute;bottom:-30%;left:-5%;width:300px;height:300px;background:rgba(255,255,255,.03);border-radius:50%}
.hero .container{position:relative;z-index:1;text-align:center;max-width:800px}
.hero h1{font-size:2.4rem;font-weight:800;margin-bottom:12px;letter-spacing:-.5px}
.hero p{font-size:1.15rem;opacity:.9;margin-bottom:24px}
.hero .hero-cta{display:inline-flex;gap:16px;flex-wrap:wrap;justify-content:center}
.btn{display:inline-flex;align-items:center;gap:6px;padding:12px 32px;border-radius:var(--radius);font-weight:600;font-size:1rem;transition:var(--transition);border:none;cursor:pointer}
.btn-primary{background:var(--accent);color:var(--white)}
.btn-primary:hover{background:var(--accent-dark);color:var(--white);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn-outline{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.4)}
.btn-outline:hover{background:rgba(255,255,255,.1);color:var(--white);border-color:var(--white)}
.btn-white{background:var(--white);color:var(--primary)}
.btn-white:hover{background:var(--gray-100);color:var(--primary-dark)}
.btn-lg{padding:14px 40px;font-size:1.05rem}

/* ===== Section General ===== */
.section{padding:60px 0}
.section-gray{background:var(--gray-50)}
.section-title{text-align:center;margin-bottom:40px}
.section-title h2{font-size:2rem;font-weight:800;color:var(--dark);margin-bottom:8px}
.section-title p{color:var(--gray-500);font-size:1rem}
.section-title .divider{width:60px;height:3px;background:var(--primary);margin:12px auto 0;border-radius:2px}

/* ===== Features Cards ===== */
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}
.feature-card{background:var(--white);border-radius:var(--radius-lg);padding:32px 24px;text-align:center;box-shadow:var(--shadow);transition:var(--transition);border:1px solid var(--gray-100)}
.feature-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl)}
.feature-card .icon{font-size:2.5rem;margin-bottom:16px;display:block}
.feature-card h3{font-size:1.2rem;font-weight:700;color:var(--dark);margin-bottom:8px}
.feature-card p{color:var(--gray-500);font-size:.9rem;line-height:1.6}

/* ===== Pricing Table ===== */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.pricing-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:var(--transition);border:2px solid transparent;display:flex;flex-direction:column}
.pricing-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}
.pricing-card.featured{border-color:var(--primary);position:relative}
.pricing-card.featured .badge{position:absolute;top:12px;right:12px;background:var(--accent);color:var(--white);padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600}
.pricing-card .pkg-header{padding:24px;text-align:center;background:var(--gray-50)}
.pricing-card.featured .pkg-header{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:var(--white)}
.pricing-card .pkg-name{font-size:1.2rem;font-weight:700;margin-bottom:4px}
.pricing-card .pkg-price{font-size:2rem;font-weight:800}
.pricing-card .pkg-price small{font-size:.85rem;font-weight:400}
.pricing-card .pkg-features{padding:20px 24px;flex:1}
.pricing-card .pkg-features li{padding:8px 0;border-bottom:1px solid var(--gray-100);font-size:.9rem;color:var(--gray-600);display:flex;align-items:flex-start;gap:6px}
.pricing-card .pkg-features li::before{content:"\2713";color:var(--success);font-weight:700;flex-shrink:0}
.pricing-card .pkg-cta{padding:16px 24px 24px;text-align:center}

/* ===== Detailed Pricing Table ===== */
.pricing-table-wrap{overflow-x:auto}
.pricing-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:700px}
.pricing-table th{background:var(--primary);color:var(--white);padding:12px 16px;text-align:left;font-weight:600;white-space:nowrap}
.pricing-table th:first-child{border-radius:var(--radius) 0 0 0}
.pricing-table th:last-child{border-radius:0 var(--radius) 0 0}
.pricing-table td{padding:10px 16px;border-bottom:1px solid var(--gray-200)}
.pricing-table tr:nth-child(even){background:var(--gray-50)}
.pricing-table tr:hover{background:var(--gray-100)}
.pricing-table .featured-row td{background:#fffbeb;font-weight:600}
.pricing-table .check{color:var(--success);font-weight:700}
.pricing-table .dash{color:var(--gray-400)}

/* ===== Cases Grid ===== */
.cases-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}
.case-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:var(--transition);display:flex;flex-direction:column}
.case-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}
.case-card .case-img{height:200px;background:linear-gradient(135deg,var(--primary),var(--primary-light));display:flex;align-items:center;justify-content:center;font-size:3rem;color:rgba(255,255,255,.6)}
.case-card .case-body{padding:20px;flex:1;display:flex;flex-direction:column}
.case-card .case-body h3{font-size:1.05rem;font-weight:700;color:var(--dark);margin-bottom:8px}
.case-card .case-body p{color:var(--gray-500);font-size:.85rem;margin-bottom:12px;flex:1}
.case-card .case-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.case-card .case-tag{background:var(--gray-100);color:var(--gray-600);padding:2px 10px;border-radius:20px;font-size:.75rem}
.case-card .case-link{color:var(--primary);font-weight:600;font-size:.85rem}

/* ===== News List ===== */
.news-list{display:grid;grid-template-columns:1fr;gap:16px}
.news-item{display:flex;gap:16px;padding:16px;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:var(--transition);align-items:flex-start}
.news-item:hover{box-shadow:var(--shadow)}
.news-date{flex-shrink:0;text-align:center;background:var(--primary);color:var(--white);border-radius:var(--radius);padding:8px 12px;min-width:60px}
.news-date .day{font-size:1.4rem;font-weight:800;line-height:1}
.news-date .month{font-size:.7rem;opacity:.8}
.news-content h3{font-size:1rem;font-weight:600;margin-bottom:4px}
.news-content h3 a{color:var(--dark)}
.news-content h3 a:hover{color:var(--primary)}
.news-content p{color:var(--gray-500);font-size:.85rem}
.news-content .news-meta{font-size:.75rem;color:var(--gray-400);margin-top:4px}

/* ===== FAQ Accordion ===== */
.faq-list{max-width:800px;margin:0 auto}
.faq-item{background:var(--white);border-radius:var(--radius);margin-bottom:12px;overflow:hidden;box-shadow:var(--shadow-sm)}
.faq-question{padding:16px 20px;font-weight:600;color:var(--dark);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:var(--transition)}
.faq-question:hover{background:var(--gray-50)}
.faq-question .toggle{font-size:1.2rem;color:var(--primary);transition:var(--transition)}
.faq-item.active .faq-question{background:var(--primary);color:var(--white)}
.faq-item.active .faq-question .toggle{color:var(--white);transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-item.active .faq-answer{max-height:500px}
.faq-answer-inner{padding:16px 20px;color:var(--gray-600);font-size:.9rem;line-height:1.7}

/* ===== About Page ===== */
.about-hero{text-align:center;padding:50px 0 30px}
.about-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin:30px 0}
.stat-item{text-align:center;padding:24px;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.stat-item .stat-num{font-size:2.5rem;font-weight:800;color:var(--primary)}
.stat-item .stat-label{color:var(--gray-500);font-size:.9rem;margin-top:4px}
.about-content{max-width:800px;margin:0 auto;line-height:1.8;color:var(--gray-600)}
.about-content h3{color:var(--dark);margin:24px 0 12px;font-weight:700}
.timeline{max-width:800px;margin:30px auto;position:relative;padding-left:30px}
.timeline::before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--gray-200)}
.timeline-item{position:relative;padding-bottom:24px}
.timeline-item::before{content:"";position:absolute;left:-26px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--primary);border:3px solid var(--white);box-shadow:0 0 0 2px var(--primary)}
.timeline-item .year{font-size:1.3rem;font-weight:800;color:var(--primary)}
.timeline-item .desc{color:var(--gray-600);margin-top:4px}

/* ===== Contact Page ===== */
.contact-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:40px}
.contact-info-card{text-align:center;padding:24px;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.contact-info-card .icon{font-size:2rem;margin-bottom:8px;display:block}
.contact-info-card h4{font-weight:700;color:var(--dark);margin-bottom:4px}
.contact-info-card p{color:var(--gray-500);font-size:.9rem}
.contact-form{max-width:600px;margin:0 auto;background:var(--white);padding:32px;border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.contact-form .form-group{margin-bottom:16px}
.contact-form label{display:block;font-weight:600;color:var(--dark);margin-bottom:4px;font-size:.9rem}
.contact-form input[type=text],.contact-form input[type=tel],.contact-form input[type=email],.contact-form textarea{width:100%;padding:10px 14px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.95rem;transition:var(--transition)}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,86,219,.1)}

/* ===== Features Page ===== */
.feature-detail{display:flex;gap:24px;align-items:flex-start;margin-bottom:32px;padding:24px;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.feature-detail:nth-child(even){flex-direction:row-reverse}
.feature-detail .feature-icon{font-size:3rem;flex-shrink:0;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:var(--gray-50);border-radius:var(--radius-lg)}
.feature-detail h3{font-size:1.2rem;font-weight:700;color:var(--dark);margin-bottom:8px}
.feature-detail p{color:var(--gray-600);font-size:.9rem;line-height:1.7}
.feature-detail ul{margin-top:8px;padding-left:16px}
.feature-detail ul li{color:var(--gray-600);font-size:.85rem;padding:2px 0;list-style:disc}

.features-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:32px}
.features-cat-item{background:var(--white);border-radius:var(--radius);padding:16px;text-align:center;box-shadow:var(--shadow-sm);transition:var(--transition);cursor:default}
.features-cat-item:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.features-cat-item .icon{font-size:1.8rem;margin-bottom:6px;display:block}
.features-cat-item .name{font-size:.8rem;font-weight:600;color:var(--gray-700)}

/* ===== Single Post / Case ===== */
.single-content{max-width:800px;margin:0 auto}
.single-content .entry-header{text-align:center;margin-bottom:24px}
.single-content .entry-title{font-size:1.8rem;font-weight:800;color:var(--dark);margin-bottom:8px}
.single-content .entry-meta{color:var(--gray-400);font-size:.85rem}
.single-content .entry-content{line-height:1.8;color:var(--gray-700)}
.single-content .entry-content h2,.single-content .entry-content h3{color:var(--dark);margin:24px 0 12px}
.single-content .entry-content p{margin-bottom:16px}
.single-content .entry-content ul,.single-content .entry-content ol{margin-bottom:16px;padding-left:24px}
.single-content .entry-content ul li{list-style:disc;margin-bottom:4px}
.single-content .entry-content ol li{list-style:decimal;margin-bottom:4px}
.single-content .entry-content blockquote{border-left:4px solid var(--primary);padding:12px 20px;background:var(--gray-50);margin:16px 0;border-radius:0 var(--radius) var(--radius) 0}
.single-content .entry-content table{width:100%;border-collapse:collapse;margin:16px 0}
.single-content .entry-content table th,.single-content .entry-content table td{border:1px solid var(--gray-200);padding:8px 12px;text-align:left}
.single-content .entry-content table th{background:var(--gray-50)}

.case-detail-info{background:var(--gray-50);border-radius:var(--radius-lg);padding:24px;margin-bottom:24px}
.case-detail-info table{width:100%;border-collapse:collapse}
.case-detail-info table th{width:120px;text-align:left;color:var(--gray-500);font-weight:500;padding:8px 0;vertical-align:top}
.case-detail-info table td{color:var(--dark);padding:8px 0;font-weight:500}

/* ===== Pagination ===== */
.pagination{display:flex;justify-content:center;gap:6px;margin-top:40px;flex-wrap:wrap}
.pagination .page-numbers{padding:8px 14px;border-radius:var(--radius);background:var(--white);color:var(--gray-600);box-shadow:var(--shadow-sm);font-size:.9rem;transition:var(--transition)}
.pagination .page-numbers:hover,.pagination .current{background:var(--primary);color:var(--white)}

/* ===== Breadcrumb ===== */
.breadcrumb{background:var(--gray-50);padding:12px 0;font-size:.85rem;color:var(--gray-500)}
.breadcrumb a{color:var(--gray-600)}
.breadcrumb a:hover{color:var(--primary)}
.breadcrumb .sep{margin:0 6px;color:var(--gray-300)}

/* ===== Sidebar ===== */
.site-main{display:grid;grid-template-columns:1fr 300px;gap:32px;padding:40px 0}
.has-sidebar .site-content{max-width:var(--container);margin:0 auto;padding:0 20px}
.sidebar-widget{background:var(--white);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);margin-bottom:20px}
.sidebar-widget h3{font-size:1.05rem;font-weight:700;color:var(--dark);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--primary)}
.sidebar-widget ul li{padding:6px 0;border-bottom:1px solid var(--gray-100)}
.sidebar-widget ul li a{color:var(--gray-600);font-size:.9rem}
.sidebar-widget ul li a:hover{color:var(--primary)}
.sidebar-contact{text-align:center}
.sidebar-contact .phone{font-size:1.5rem;font-weight:800;color:var(--primary);margin:8px 0}
.sidebar-contact .btn{width:100%;justify-content:center;margin-top:12px}

/* ===== Footer ===== */
.site-footer{background:var(--gray-900);color:var(--gray-400);padding:40px 0 0;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:32px}
.footer-col h4{color:var(--white);font-size:1rem;font-weight:700;margin-bottom:12px}
.footer-col p{font-size:.85rem;line-height:1.8;margin-bottom:6px}
.footer-col ul li{padding:3px 0}
.footer-col ul li a{color:var(--gray-400);font-size:.85rem}
.footer-col ul li a:hover{color:var(--white)}
.footer-contact .phone-big{font-size:1.5rem;font-weight:800;color:var(--white);margin:8px 0}
.footer-bottom{border-top:1px solid var(--gray-800);padding:16px 0;text-align:center;font-size:.8rem}
.footer-bottom a{color:var(--gray-500)}
.footer-friend-links{border-top:1px solid var(--gray-800);padding:14px 0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:.8rem}
.footer-friend-links .friend-links-label{color:var(--gray-500);font-weight:700;flex-shrink:0}
.footer-friend-links a{color:var(--gray-500);transition:var(--transition)}
.footer-friend-links a:hover{color:var(--white)}

/* ===== Floating Contact ===== */
.floating-contact{position:fixed;right:16px;bottom:100px;z-index:999;display:flex;flex-direction:column;gap:8px}
.floating-contact a{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--white);box-shadow:var(--shadow-lg);transition:var(--transition)}
.floating-contact a:hover{transform:scale(1.1)}
.float-phone{background:var(--primary)}
.float-wechat{background:var(--success)}
.float-top{background:var(--gray-600);cursor:pointer}

/* ===== Page Header ===== */
.page-header{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:var(--white);padding:40px 0;text-align:center;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.page-header h1{font-size:2rem;font-weight:800;margin-bottom:4px}
.page-header p{opacity:.9;font-size:.95rem}

/* ===== Responsive ===== */
@media(max-width:968px){
  .site-main{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:20px}
}
@media(max-width:768px){
  .top-bar .container{justify-content:center;text-align:center}
  .top-bar .top-links{display:none}
  .menu-toggle{display:block}
  .main-navigation{position:fixed;top:60px;left:0;right:0;background:var(--white);box-shadow:var(--shadow-lg);max-height:0;overflow:hidden;transition:max-height .3s ease;z-index:999}
  .main-navigation.active{max-height:400px;overflow-y:auto}
  .main-navigation ul{flex-direction:column;width:100%}
  .main-navigation li a{padding:14px 20px;border-radius:0}
  .header-phone{display:none}
  .hero h1{font-size:1.8rem}
  .hero p{font-size:1rem}
  .section{padding:40px 0}
  .section-title h2{font-size:1.5rem}
  .feature-detail{flex-direction:column!important}
  .feature-detail .feature-icon{margin:0 auto}
  .footer-grid{grid-template-columns:1fr}
  .floating-contact{bottom:80px;right:10px}
  .floating-contact a{width:42px;height:42px;font-size:1.1rem}
  .news-item{flex-direction:column}
}
@media(max-width:480px){
  .hero{padding:40px 0}
  .hero h1{font-size:1.5rem}
  .hero .hero-cta{flex-direction:column;width:100%}
  .hero .hero-cta .btn{width:100%;justify-content:center}
  .pricing-grid{grid-template-columns:1fr}
  .cases-grid{grid-template-columns:1fr}
  .about-stats{grid-template-columns:1fr 1fr}
}

/* ===== WordPress Core ===== */
.alignleft{float:left;margin:0 16px 16px 0}
.alignright{float:right;margin:0 0 16px 16px}
.aligncenter{display:block;margin:0 auto 16px}
.wp-caption{max-width:100%}
.wp-caption-text{text-align:center;font-size:.8rem;color:var(--gray-500);margin-top:4px}
.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;width:1px;height:1px;overflow:hidden}
.sticky{display:block}
.bypostauthor{display:block}
.size-auto,.size-full,.size-large,.size-medium,.size-thumbnail{max-width:100%;height:auto}
.entry-content img{margin:16px 0;border-radius:var(--radius)}

/* ===== City Sub-station Styles ===== */
.city-hero{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:60px 0;text-align:center;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.city-hero h1{font-size:2.2rem;margin-bottom:12px;font-weight:800}
.city-hero p{font-size:1.1rem;margin-bottom:24px;opacity:.9}
.city-hero .hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.city-links-grid{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:24px}
.city-link{display:inline-flex;align-items:center;padding:10px 20px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);color:var(--dark);font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s ease}
.city-link:hover,.city-link.active{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px rgba(26,86,219,.2)}
.footer-cities{padding:16px 0;border-top:1px solid rgba(255,255,255,.1);margin-top:24px;text-align:center}
.footer-cities-label{color:rgba(255,255,255,.6);font-size:.85rem;margin-right:8px}
.footer-cities a{display:inline-block;color:rgba(255,255,255,.7);font-size:.8rem;padding:2px 10px;text-decoration:none;transition:color .2s ease}
.footer-cities a:hover{color:var(--accent)}
.city-service-info .features-grid{margin-top:24px}
.city-directory-hero{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:60px 0;text-align:center;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.city-directory-hero h1{font-size:2.2rem;margin-bottom:12px;font-weight:800}
.city-directory-hero p{font-size:1.1rem;margin-bottom:24px;opacity:.9}
.city-directory{padding-top:32px}
.city-group{margin-bottom:32px;border-bottom:1px solid var(--gray-200);padding-bottom:24px}
.city-group:last-child{border-bottom:none}
.city-group-title{font-size:1.1rem;color:var(--primary);font-weight:700;margin-bottom:12px;padding-left:8px;border-left:4px solid var(--accent)}
.city-group-links{display:flex;flex-wrap:wrap;gap:8px}
.city-link-small{display:inline-block;padding:6px 14px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);color:var(--dark);font-size:.85rem;text-decoration:none;transition:all .2s ease}
.city-link-small:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px)}
@media(max-width:768px){.city-hero{padding:40px 0}.city-hero h1{font-size:1.6rem}.city-hero .hero-cta{flex-direction:column;width:100%}.city-hero .hero-cta .btn{width:100%;justify-content:center}.city-link{font-size:.8rem;padding:8px 14px}.footer-cities a{font-size:.75rem;padding:2px 6px}.city-directory-hero{padding:40px 0}.city-directory-hero h1{font-size:1.6rem}.city-group-title{font-size:1rem}.city-link-small{font-size:.8rem;padding:5px 10px}}

/* ===== Number Selection Page ===== */
.number-hero{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:60px 0;text-align:center;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.number-hero h1{font-size:2.2rem;margin-bottom:12px;font-weight:800}
.number-hero p{font-size:1.1rem;margin-bottom:24px;opacity:.9}
.number-hero .hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.number-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin-bottom:30px}
.number-card{background:#fff;padding:20px 15px;text-align:center;border:1px solid var(--gray-200);border-radius:var(--radius);transition:var(--transition)}
.number-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.number-card .card-num{display:block;font-size:1.25rem;font-weight:700;color:var(--accent);margin-bottom:10px}
.number-card .card-type{display:inline-block;background:var(--gray-100);color:var(--primary);padding:2px 12px;border-radius:12px;font-size:.75rem;margin-bottom:8px}
.number-card .card-price{color:var(--gray-600);font-size:.85rem;margin-bottom:8px}
.number-card .card-price strong{color:var(--dark)}
.number-card .card-isp{display:inline-block;font-size:.75rem;color:#fff;padding:2px 10px;border-radius:10px;margin-bottom:12px}
.number-card .isp-1{background:#007bff}
.number-card .isp-2{background:#ff6600}
.number-card .isp-3{background:#e60012}
.number-card .isp-default{background:var(--gray-400)}
.number-card .card-btn{display:inline-block;background:var(--primary);color:#fff;padding:6px 20px;border-radius:20px;text-decoration:none;font-size:.85rem;transition:var(--transition)}
.number-card .card-btn:hover{background:var(--primary-dark)}
.number-loading{grid-column:1/-1;text-align:center;color:var(--gray-400);padding:40px 0}
.number-page .pagination{text-align:center;display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:24px}
.number-page .pagination a,.number-page .pagination span{display:inline-block;padding:6px 12px;border:1px solid var(--gray-200);border-radius:var(--radius);text-decoration:none;color:var(--dark);background:#fff}
.number-page .pagination .current{background:var(--primary);color:#fff;border-color:var(--primary)}
.number-page .pagination a:hover{background:var(--gray-50);border-color:var(--primary)}
@media(max-width:768px){.number-hero{padding:40px 0}.number-hero h1{font-size:1.6rem}.number-grid{grid-template-columns:repeat(2,1fr)}}