/* Shared visual language for service and catalog additions. */
.service-public-page,.catalog-public-page{background:linear-gradient(180deg,#f3f7ff 0,#fff 480px);padding:32px 24px 64px;min-height:60vh}
.service-page-wrap{width:min(100%,1440px);margin:0 auto}
.service-public-page .property-package-heading,.catalog-public-page .property-package-heading{margin-bottom:28px}
.service-panel{min-width:0;margin-bottom:22px;border:1px solid #dce6f2;border-radius:16px;background:#fff;box-shadow:0 6px 22px rgba(18,52,89,.045);overflow:hidden}
.service-panel-heading{padding:20px 24px;border-bottom:1px solid #e8eef6}
.service-panel-heading h2,.service-panel-body h2{margin:0 0 12px;color:#143353;font-size:20px;font-weight:800;line-height:1.35}
.service-panel-heading h2{margin:0}
.service-panel-body{padding:24px}
.service-panel-body p{color:#63758b;font-size:14px;line-height:1.75;margin:0 0 20px}
.service-preserve-lines{white-space:pre-line;overflow-wrap:anywhere}
.service-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:26px;align-items:start}
.service-detail-layout>*,.catalog-filters>*{min-width:0}
.service-detail-image{height:300px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef5ff,#f9fbff);border-bottom:1px solid #e6eef8}
.service-detail-image>i{font-size:74px;color:#0861dc}
.service-detail-image img{width:100%;height:100%;padding:20px;object-fit:contain}
.service-panel-body .service-price{font-size:26px;line-height:1.3;margin:12px 0 24px;color:#075edc}
.service-facts{margin:0 0 24px}
.service-facts>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #edf1f6;font-size:13px}
.service-facts dt{color:#6a7d93;font-weight:500}.service-facts dd{margin:0;text-align:right;color:#193b60;font-weight:700}
.service-primary-button,.service-secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:11px 18px;border:1px solid #075edc;border-radius:9px;background:#075edc;color:#fff;font-family:inherit;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer;line-height:1.4}
.service-primary-button:hover{background:#054cab;color:#fff}.service-secondary-button{background:#fff;color:#075edc;margin:0 6px 12px 0}.service-secondary-button:hover{background:#edf5ff}
.service-primary-button:focus-visible,.service-secondary-button:focus-visible,.catalog-input:focus-visible{outline:3px solid #94bdff;outline-offset:3px}
.service-price-panel .service-primary-button{width:100%}.service-panel-body .service-helper{font-size:12px;text-align:center;margin:14px 0 0}
.service-options{display:grid;gap:12px}.service-option{display:flex;align-items:start;justify-content:space-between;gap:18px;padding:18px;border:1px solid #e3ebf6;border-radius:12px;background:#fafcff}
.service-option h3{margin:0 0 6px;color:#143353;font-size:15px}.service-option p{margin:0 0 4px;font-size:13px}.service-option>strong{color:#075edc;white-space:nowrap}.service-option small{color:#7a8ca2;font-size:12px}
.service-check-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.service-check-list li{display:flex;gap:10px;align-items:baseline;color:#415e7e;font-size:14px}.service-check-list i{color:#07855f}
.repair-services-page .service-category-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px;padding:16px;border:1px solid #dce6f2;border-radius:14px;background:#fff}
.service-category-nav a{display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid #e1e9f4;border-radius:9px;background:#f8faff;color:#48617e;text-decoration:none;font-size:13px;font-weight:700}
.service-category-nav a.active{border-color:#075edc;background:#075edc;color:#fff}.service-category-nav a:hover{border-color:#075edc}
.service-category-nav img{width:32px;height:32px;object-fit:cover;border-radius:6px}
.service-catalog-image{width:100%;height:160px;object-fit:contain;border-radius:10px}
.repair-services-page .repair-service-card>strong{display:block;color:#075edc;margin:0 0 18px;font-size:17px}
.service-account-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:48px;border:1px solid #dbe8fa;border-radius:12px;background:#edf5ff;color:#075edc;font-size:20px}
.service-booking-list .card-header h5{font-size:14px}.service-booking-list .card-body h5{font-size:15px}
.service-pagination{overflow-x:auto;margin-top:22px}
.service-account-detail .card-body p{overflow-wrap:anywhere}
.catalog-public-page .repair-services-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.catalog-public-page .repair-service-card{min-height:0;padding:22px;border:1px solid #dce6f2;border-radius:14px}
.catalog-public-page .repair-service-card h2{font-size:17px;line-height:1.45;margin:16px 0 8px}
.catalog-public-page .repair-service-card p{font-size:13px;margin-bottom:16px}
.catalog-public-page .repair-service-card>strong{color:#075edc;font-size:21px;margin-bottom:18px}
.catalog-product-image{display:block;width:100%;height:190px;object-fit:contain;background:#f8faff;border-radius:10px}
.catalog-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 26px;padding:20px;background:#fff;border:1px solid #dce6f2;border-radius:14px;align-items:end}
.catalog-filter-field label{display:grid;gap:7px;color:#47627e;font-size:12px;font-weight:700}
.catalog-input{width:100%;min-width:0;min-height:42px;padding:10px 12px;border:1px solid #d6e1ee;border-radius:8px;background:#fff;color:#213f61;font:inherit}
.catalog-filter-field .service-primary-button{width:100%}
.catalog-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}
.catalog-gallery-item{min-width:0;background:#f5f9ff;border:1px solid #e1eaf5;border-radius:12px;padding:12px}
.catalog-gallery-item img{width:100%;height:220px;object-fit:contain}
.catalog-product-detail h1{font-size:30px;color:#143353;margin:0 0 12px}.catalog-product-detail h2{margin-top:28px}
.catalog-product-detail>strong{font-size:26px;color:#075edc}
.catalog-cart-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:22px 0;border-bottom:1px solid #e6edf6;margin-bottom:24px}
.catalog-cart-form input[type=number]{width:90px;padding:12px;border:1px solid #cddced;border-radius:8px;font:inherit}
.catalog-product-detail dl{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;margin:0}
.catalog-product-detail dt,.catalog-product-detail dd{padding:12px 10px;border-bottom:1px solid #edf2f8;margin:0;font-size:13px;overflow-wrap:anywhere}
.catalog-product-detail dt{color:#6c8198;font-weight:600}.catalog-product-detail dd{color:#1b3c60}
@media(max-width:1100px){.service-detail-layout{grid-template-columns:minmax(0,1fr) 310px;gap:18px}.catalog-public-page .repair-services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767.98px){.service-public-page,.catalog-public-page{padding:24px 14px 42px}.service-detail-layout{grid-template-columns:1fr}.service-panel-body,.service-panel-heading{padding:18px}.service-detail-image{height:220px}.service-panel-body .service-price{font-size:23px}.service-category-nav a{flex:1 1 130px;justify-content:center}.catalog-public-page .repair-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:12px}.catalog-input{font-size:16px}.catalog-public-page .repair-service-card{padding:14px}.catalog-public-page .repair-service-card h2{font-size:14px}.catalog-product-image{height:140px}.catalog-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-gallery-item img{height:160px}.catalog-product-detail h1{font-size:24px}.service-option{padding:14px}}
@media(max-width:420px){.catalog-public-page .repair-services-grid{grid-template-columns:1fr}.service-option{flex-direction:column;gap:8px}.service-facts>div{font-size:12px}.catalog-product-detail dl{grid-template-columns:1fr 1fr}}
