.tpl-component-site-hero .hero { padding: 96px 0; }
.tpl-component-site-hero .hero .container { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.tpl-component-site-hero .hero h1 { font-family: var(--font-heading); font-size: 64px; line-height: 1.05; color: var(--color-primary); margin-bottom: 24px; }
.tpl-component-site-hero .hero p { color: var(--color-muted); margin-bottom: 32px; }
.tpl-component-site-hero .hero img { width: 100%; height: 520px; object-fit: cover; border-radius: var(--radius); }
@media (max-width: 900px) {
.tpl-component-site-hero .hero { padding: 48px 0; }
.tpl-component-site-hero .hero .container { grid-template-columns: 1fr; gap: 32px; }
.tpl-component-site-hero .hero h1 { font-size: 40px; }
.tpl-component-site-hero .hero img { height: 280px; }
.tpl-component-site-hero .hero .btn { margin-bottom: 12px; }
}
.tpl-component-site-services .services { padding: 96px 0; background: var(--color-surface); }
.tpl-component-site-services .services .tpl-block-list-objects { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.tpl-component-site-services .card { background: var(--color-bg); border-radius: var(--radius); padding: 32px; }
.tpl-component-site-services .card h3 { font-size: 24px; margin-bottom: 12px; }
.tpl-component-site-services .card p { color: var(--color-muted); font-size: 16px; }
@media (max-width: 900px) {
.tpl-component-site-services .services { padding: 56px 0; }
.tpl-component-site-services .services .tpl-block-list-objects { grid-template-columns: 1fr; gap: 20px; }
}
.tpl-component-netcat-module-requests-request { position: relative; }
.tpl-component-netcat-module-requests-request.tpl-link-form-open .nc-modal-trigger-overlay, .tpl-component-netcat-module-requests-request .tpl-link-form-submit .nc-modal-trigger-overlay { margin: 0; }
.tpl-component-netcat-module-requests-request.tpl-link-form-open { display: inline-block; }
.tpl-component-netcat-module-requests-request .tpl-link-form-submit { position: relative; }
.tpl-component-netcat-module-requests-request .nc-ckeditor-inline { width: 100%; }
.tpl-component-netcat-module-requests-request H4 { font-weight: 600; font-size: 24px; line-height: 28px; color: #333; margin: 0 0 9px; padding: 0; word-wrap: break-word; }
.tpl-component-netcat-module-requests-request .tpl-block-text-after-header { word-wrap: break-word; }
.tpl-component-netcat-module-requests-request form { text-align: left; }
.tpl-component-netcat-module-requests-request .tpl-block-columns { display: flex; }
.tpl-component-netcat-module-requests-request .tpl-block-columns .tpl-block-image img { margin-top: 40px; max-width: 430px; }
.tpl-component-netcat-module-requests-request .tpl-block-columns .tpl-block-divider { min-width: 1px; width: 1px; margin: 0 100px 0 60px; background: #e5e5e5; }
.tpl-component-netcat-module-requests-request .tpl-block-fields { position: relative; }
.tpl-component-netcat-module-requests-request .tpl-block-fields .nc-modal-trigger-overlay { margin: -10px; z-index: 5; }
.tpl-component-netcat-module-requests-request .tpl-block-fields.tpl-state-empty { margin: 20px 10px; padding: 20px; text-align: center; }
.tpl-component-netcat-module-requests-request .tpl-block-fields.tpl-state-empty .nc-modal-trigger-overlay { background-size: 64px; }
.tpl-component-netcat-module-requests-request H4 + .tpl-block-fields, .tpl-component-netcat-module-requests-request .tpl-block-text-after-header + .tpl-block-fields { margin-top: 30px; }
.tpl-component-netcat-module-requests-request .tpl-block-input { margin-bottom: 20px; text-align: left; }
.tpl-component-netcat-module-requests-request .tpl-block-fields .tpl-caption { padding-bottom: 10px; display: none; }
.tpl-component-netcat-module-requests-request .tpl-block-input .tpl-block-error { font-weight: 600; font-size: 13px; line-height: 16px; color: #ff7373; padding: 2px 0 0 2px; display: none; }
.tpl-component-netcat-module-requests-request INPUT:not([type="checkbox"]), .tpl-component-netcat-module-requests-request SELECT:not([hidden]), .tpl-component-netcat-module-requests-request TEXTAREA:not([hidden]) { font-family: "Open Sans", sans-serif; font-size: 18px; line-height: 20px; padding: 20px; border-radius: 3px; }
.tpl-component-netcat-module-requests-request .tpl-block-input INPUT:not([type="checkbox"]), .tpl-component-netcat-module-requests-request .tpl-block-input SELECT, .tpl-component-netcat-module-requests-request .tpl-block-input TEXTAREA { box-sizing: border-box; width: 100%; border: 1px solid #ccc; background: #fff; outline: none; color: #333; -webkit-appearance: none; transition: background, border-color .1s ease; }
.tpl-component-netcat-module-requests-request .tpl-block-input INPUT:not([type="checkbox"]) { height: 60px; }
.tpl-component-netcat-module-requests-request .tpl-block-input INPUT[type="checkbox"] { width:20px; height:20px; }
.tpl-component-netcat-module-requests-request .tpl-block-input .tpl-value { display: flex; align-items: flex-start; gap: 10px; }
.tpl-component-netcat-module-requests-request .tpl-block-input INPUT[type="checkbox"] { flex-shrink: 0; margin-top: 2px; }
.tpl-component-netcat-module-requests-request .tpl-block-input label { flex: 1; line-height: 1.4; }
.tpl-component-netcat-module-requests-request .tpl-block-input TEXTAREA { height: 120px; line-height: 22px; resize: none; }
.tpl-component-netcat-module-requests-request .tpl-block-input SELECT { -moz-appearance: none; appearance: none; background: #fff url('/netcat_template/class/netcat_module_requests_request/images/dropdown_arrow.png') no-repeat 100% center; height: 60px; padding: 1px 20px; }
.tpl-component-netcat-module-requests-request .tpl-block-input SELECT OPTION { font-family: "Open Sans", sans-serif; color: #333; font-size: 18px; padding: 12px 20px; }
.tpl-component-netcat-module-requests-request .tpl-block-input INPUT[disabled="disabled"], .tpl-component-netcat-module-requests-request .tpl-block-input SELECT[disabled="disabled"], .tpl-component-netcat-module-requests-request .tpl-block-input TEXTAREA[disabled="disabled"] { opacity: 0.5; }
.tpl-component-netcat-module-requests-request .tpl-block-input INPUT:hover, .tpl-component-netcat-module-requests-request .tpl-block-input SELECT:hover, .tpl-component-netcat-module-requests-request .tpl-block-input TEXTAREA:hover { background-color: #f9f9f9; border-color: #999; }
.tpl-component-netcat-module-requests-request .tpl-block-input INPUT:focus, .tpl-component-netcat-module-requests-request .tpl-block-input SELECT:focus, .tpl-component-netcat-module-requests-request .tpl-block-input TEXTAREA:focus { background-color: #f9f9f9; border-color: #999; box-shadow: inset 0 0 0 1px #999; }
.tpl-component-netcat-module-requests-request .tpl-block-input SELECT:focus { background-image: url('/netcat_template/class/netcat_module_requests_request/images/dropdown_arrow_focus.png'); }
.tpl-component-netcat-module-requests-request .tpl-block-input SELECT:-moz-focusring { color: transparent; text-shadow: 0 0 0 #000; }
.tpl-component-netcat-module-requests-request .tpl-block-input.tpl-state-error INPUT, .tpl-component-netcat-module-requests-request .tpl-block-input.tpl-state-error SELECT, .tpl-component-netcat-module-requests-request .tpl-block-input.tpl-state-error TEXTAREA { border-color: #ff7373; box-shadow: inset 0 0 0 1px #ff7373; }
.tpl-component-netcat-module-requests-request .tpl-block-input SELECT:focus, .tpl-component-netcat-module-requests-request .tpl-block-input.tpl-state-error SELECT { padding: 1px 20px; }
.tpl-component-netcat-module-requests-request .tpl-block-input.tpl-state-error .tpl-block-error { display: block; }
.tpl-component-netcat-module-requests-request .tpl-field-quantity .tpl-value { display: flex; margin-bottom: 20px; }
.tpl-component-netcat-module-requests-request .tpl-block-form .tpl-block-input.tpl-field-quantity .tpl-value INPUT { position: relative; border-radius: 0; text-align: center; z-index: 2; }
.tpl-component-netcat-module-requests-request .tpl-field-quantity .tpl-block-control-button { position: relative; width: 62px; min-width: 62px; height: 60px; border: 1px solid #ccc; border-radius: 2px; transition: all .1s ease; box-sizing: border-box; background: #fff 50% 50% no-repeat; outline: none; }
.tpl-component-netcat-module-requests-request .tpl-field-quantity .tpl-block-control-button:not(.tpl-state-disabled):hover { border-color: #999; z-index: 3; }
.tpl-component-netcat-module-requests-request .tpl-field-quantity .tpl-block-control-button:not(.tpl-state-disabled):active { border-color: #999; z-index: 3; box-shadow: inset 0 4px 5px rgba(0, 0, 0, 0.25); }
.tpl-component-netcat-module-requests-request .tpl-field-quantity .tpl-block-control-button.tpl-link-decrease { left: 0; margin-right: -1px; border-top-right-radius: 0; border-bottom-right-radius: 0; background-image: url("/netcat_template/class/netcat_module_requests_request/images/icon_minus.png"); }
.tpl-component-netcat-module-requests-request .tpl-field-quantity .tpl-block-control-button.tpl-link-decrease.tpl-state-disabled { background-image: url("/netcat_template/class/netcat_module_requests_request/images/icon_minus_disabled.png"); }
.tpl-component-netcat-module-requests-request .tpl-field-quantity .tpl-block-control-button.tpl-link-increase { right: 0; margin-left: -1px; border-top-left-radius: 0; border-bottom-left-radius: 0; background-image: url("/netcat_template/class/netcat_module_requests_request/images/icon_plus.png"); }
.tpl-component-netcat-module-requests-request .tpl-field-quantity .tpl-block-control-button.tpl-link-increase.tpl-state-disabled { background-image: url("/netcat_template/class/netcat_module_requests_request/images/icon_plus_disabled.png"); }
.tpl-component-netcat-module-requests-request .tpl-block-button { position: relative; font-weight: bold; font-size: 18px; line-height: 22px; color: #fff; background: #01aff2; border: none; border-radius: 2px; min-height: fit-content; cursor: pointer; transition: all .1s ease; min-width: fit-content; box-sizing: border-box; outline: none; }
.tpl-component-netcat-module-requests-request .tpl-block-button.tpl-layout-background-dark { color: #fff; }
.tpl-component-netcat-module-requests-request .tpl-block-button.tpl-layout-background-bright { color: #000; }
.tpl-component-netcat-module-requests-request .tpl-block-button.tpl-layout-background-transparent { border: 2px solid #fff; }
.tpl-component-netcat-module-requests-request .tpl-block-button { width: 100%; }
.tpl-component-netcat-module-requests-request .tpl-block-button[disabled="disabled"] { opacity: 0.5; }
.tpl-component-netcat-module-requests-request .tpl-block-button:not([disabled="disabled"]):hover, .tpl-component-netcat-module-requests-request .tpl-block-button:not([disabled="disabled"]):focus { opacity: 0.8; }
.tpl-component-netcat-module-requests-request .tpl-block-button:not([disabled="disabled"]):active { opacity: 0.8; box-shadow: inset 0 4px 5px rgba(0, 0, 0, 0.25); }
.tpl-component-netcat-module-requests-request .tpl-block-button-content { display: inline-flex; width: 100%; align-items: flex-start; }
.tpl-component-netcat-module-requests-request .tpl-block-button .tpl-block-button-title { flex-grow: 2; text-align: center; }
.tpl-component-netcat-module-requests-request .tpl-block-button-title.tpl-field-item-price { white-space: nowrap; }
.tpl-component-netcat-module-requests-request .tpl-block-button .tpl-block-button-divider { width: 1px; min-width: 1px; position: absolute; top: 10px; bottom: 10px; background: rgba(255, 255, 255, 0.25); }
.tpl-component-netcat-module-requests-request .tpl-block-button::-moz-focus-inner { padding: 0; border: 0; }
.tpl-component-netcat-module-requests-request.tpl-block-popup { z-index: 500; position: fixed; left: 0; right: 0; top: 0; bottom: 0; min-width: 100%; max-width: 100%; border: none; overflow-y: auto; background: rgba(0, 0, 0, 0.5); text-align: center; width: 100%; }
.tpl-component-netcat-module-requests-request .tpl-block-popup-background { position: fixed; left: 0; right: 40px; bottom: 0; top: 0; }
.tpl-component-netcat-module-requests-request .tpl-block-popup-container { position: relative; display: inline-block; text-align: left; padding: 35px 90px 60px; margin: 20px 0; min-width: 250px; max-width: 1060px; background: #fff; border-radius: 2px; box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1); }
@media (max-width: 560px) {
.tpl-component-netcat-module-requests-request .tpl-block-popup-container { margin: 0; }
}
.tpl-component-netcat-module-requests-request .tpl-block-popup-container .tpl-block-popup-close-button { width: 50px; height: 50px; border-radius: 25px; background: url("/netcat_template/class/netcat_module_requests_request/images/icon_close.png") 50% 50% no-repeat; border: 1px solid #e5e5e5; transition: all .1s ease; position: absolute; top: 15px; right: 15px; }
.tpl-component-netcat-module-requests-request .tpl-block-popup-container .tpl-block-popup-close-button:hover { border-color: #999; }
.tpl-component-netcat-module-requests-request .tpl-block-popup-container .tpl-block-popup-close-button:active { border-color: #999; box-shadow: inset 0 4px 5px rgba(0, 0, 0, 0.25); }
.tpl-component-netcat-module-requests-request .tpl-block-popup-body { font-size: 18px; }
.tpl-component-netcat-module-requests-request .tpl-block-popup-body P { margin: 0; padding: 0 0 10px; }
.tpl-component-netcat-module-requests-request.tpl-block-popup-message .tpl-block-popup-body { margin: 35px 0; }
.tpl-component-netcat-module-requests-request.tpl-block-popup-message .tpl-block-popup-icon { width: 50px; height: 50px; background-size: 50px; background-repeat: no-repeat; margin: 20px 0 10px; }
.tpl-component-netcat-module-requests-request.tpl-block-popup-message.tpl-state-success .tpl-block-popup-icon { background-image: url('/netcat_template/class/netcat_module_requests_request/images/icon_success.svg'); }
.tpl-component-netcat-module-requests-request.tpl-block-popup-message.tpl-state-error .tpl-block-popup-icon { background-image: url('/netcat_template/class/netcat_module_requests_request/images/icon_error.svg'); }
.tpl-component-netcat-module-requests-request.tpl-block-popup-form .tpl-block-popup-container { padding-top: 40px; }
@media (min-width: 1031px) {
.tpl-component-netcat-module-requests-request.tpl-block-popup .tpl-block-fields:first-child { margin-top: 40px; }
}
@media (max-width: 1030px) {
.tpl-component-netcat-module-requests-request.tpl-block-popup-form .tpl-block-popup-container { max-width: 520px; padding-top: 55px; padding-left: 0; padding-right: 0; }
.tpl-component-netcat-module-requests-request .tpl-block-popup-body { margin: 15px 60px; }
.tpl-component-netcat-module-requests-request .tpl-block-columns { display: block; }
.tpl-component-netcat-module-requests-request .tpl-block-columns .tpl-block-divider { height: 50px; background: none; }
.tpl-component-netcat-module-requests-request .tpl-block-columns .tpl-block-image img { margin-top: 0; max-width: 100%; }
.tpl-component-netcat-module-requests-request .tpl-block-popup-container .tpl-block-form { margin: 0 auto; text-align: center; }
}
.tpl-component-netcat-module-requests-request .tpl-state-animated { -webkit-animation-duration: 0.5s; animation-duration: 0.5s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
@-webkit-keyframes tpl-animation-fade-in-down { from { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } }
@keyframes tpl-animation-fade-in-down { from { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } }
.tpl-component-netcat-module-requests-request .tpl-animation-fade-in-down { -webkit-animation-name: tpl-animation-fade-in-down; animation-name: tpl-animation-fade-in-down; }
.tpl-component-site-projects .projects { padding: 96px 0; }
.tpl-component-site-projects .project { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; margin-bottom: 64px; }
.tpl-component-site-projects .project-reverse img { order: 2; }
.tpl-component-site-projects .project img { width: 100%; height: 420px; object-fit: cover; border-radius: var(--radius); }
.tpl-component-site-projects .project h3 { font-family: var(--font-heading); font-size: 36px; margin-bottom: 16px; }
.tpl-component-site-projects .project p { margin-bottom: 16px; }
@media (max-width: 900px) {
.tpl-component-site-projects .projects { padding: 56px 0; }
.tpl-component-site-projects .project { grid-template-columns: 1fr; gap: 24px; margin-bottom: 48px; }
.tpl-component-site-projects .project-reverse img { order: 0; }
.tpl-component-site-projects .project img { height: 260px; }
.tpl-component-site-projects .project h3 { font-size: 28px; }
}
.tpl-component-site-cta .cta { padding: 96px 0; background: var(--color-primary); color: #fff; }
.tpl-component-site-cta .cta .container { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.tpl-component-site-cta .cta h2 { font-family: var(--font-heading); font-size: 44px; margin-bottom: 16px; }
@media (max-width: 900px) {
.tpl-component-site-cta .cta { padding: 56px 0; }
.tpl-component-site-cta .cta .container { grid-template-columns: 1fr; gap: 32px; }
.tpl-component-site-cta .cta h2 { font-size: 32px; }
}
.tpl-component-site-cta .cta form { background: var(--color-surface); border-radius: var(--radius); padding: 32px; color: var(--color-text); }
.tpl-component-site-cta .cta form .tpl-caption { display: none; }
.tpl-component-site-cta .cta form .tpl-block-input { margin: 0; }
.tpl-component-site-cta .cta form input[type="text"], .tpl-component-site-cta .cta form textarea { display: block; width: 100%; max-width: none; padding: 14px; margin: 0 0 16px; border: 1px solid #ddd; border-radius: 12px; font: inherit; color: var(--color-text); background: #fff; box-shadow: none; }
.tpl-component-site-cta .cta form textarea { resize: vertical; height: 111px; }
.tpl-component-site-cta .cta form .tpl-block-buttons { margin: 0; }
.tpl-component-site-cta .cta form button[type="submit"] { display: inline-block; padding: 14px 28px; border: 0; border-radius: 999px; background: var(--color-accent); color: var(--color-text); font: inherit; font-weight: 700; cursor: pointer; }
.tpl-component-site-cta .cta form .tpl-block-error { color: #c0392b; font-size: 14px; margin: -12px 0 12px; }
.tpl-component-netcat-module-search-result-by-type.tpl-template-others .search-item a { text-decoration: none; }
.tpl-component-netcat-module-search-result-by-type.tpl-template-others .search-item a:hover { text-decoration: underline; }
.tpl-component-netcat-module-search-result-by-type.tpl-template-others .search-item cite { font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; opacity: 0.5; }
.tpl-component-netcat-module-search-result-by-type.tpl-template-search-field .search-form { width: 100%; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 12px; }
.tpl-component-netcat-module-search-result-by-type.tpl-template-search-field .search-form input { flex-grow: 1; }
