/* Shared form corrections, including the original Elementor homepage. */
body .forminator-ui.forminator-custom-form .forminator-button-submit {
  background: #ffd400 !important;
  color: #102c20 !important;
  border-color: #ffd400 !important;
  min-height: 48px;
  font-weight: 700 !important;
}
body .forminator-ui.forminator-custom-form .forminator-button-submit:hover,
body .forminator-ui.forminator-custom-form .forminator-button-submit:focus-visible {
  background: #ffe363 !important;
  color: #102c20 !important;
}
body .forminator-ui.forminator-custom-form .forminator-consent__label a,
body .forminator-ui.forminator-custom-form .forminator-checkbox__label a,
body .oc-footer__bottom a,
body .oc-cookie a {
  color: #ffd400 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
body .forminator-ui.forminator-custom-form input[name="phone-1"] {
  margin-top: 0 !important;
}
body .forminator-ui.forminator-custom-form .forminator-label,
body .forminator-ui.forminator-custom-form .forminator-consent__label,
body .forminator-ui.forminator-custom-form .forminator-consent__label p { color: #fff !important; }
.oc-catalog-nav.e-con,
.oc-service-related.e-con {
  flex-direction: row !important;
  flex-wrap: wrap;
  gap: 12px;
  padding-block: 28px;
}
.oc-catalog-nav .elementor-widget,
.oc-service-related .elementor-widget { width: auto !important; }
.oc-catalog-grid.e-con {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  padding: 0;
}
.oc-catalog-card.e-con {
  padding: 0;
  gap: 0;
  overflow: hidden;
  border: 1px solid #dce2dc;
  border-radius: 24px;
  background: #fff;
  color: #101714;
  height: 100%;
}
.oc-catalog-card__photo { width: 100%; margin: 0; }
.oc-page .oc-catalog-card__photo img { display: block; width: 100%; height: 260px; object-fit: cover; }
.oc-catalog-card__copy.e-con { padding: 30px; gap: 18px; flex: 1; }
.oc-catalog-card h3 { font-size: clamp(21px, 2.1vw, 28px); line-height: 1.25; overflow-wrap: anywhere; }
.oc-catalog-card p { font-size: 17px; margin-bottom: 0; }
.oc-catalog-card .elementor-widget-text-editor,
.oc-catalog-card .elementor-heading-title { color: #101714 !important; }
.oc-catalog-card__rate { font-size: 22px; font-weight: 700; }
.oc-catalog-card .elementor-widget-button { margin-top: auto; }
.oc-catalog-card--plain.e-con { background: #f2f4ef; }
.oc-button--small .elementor-button { font-size: 14px !important; }
.oc-page .oc-catalog-nav .elementor-button,
.oc-page .oc-catalog-card .elementor-button,
.oc-page .oc-service-related .elementor-button { background: #588568 !important; color: #fff !important; }
.oc-page .oc-service-hero .elementor-button,
.oc-page .oc-catalog-nav .oc-button--light .elementor-button { background: #ffd400 !important; color: #102c20 !important; }
.oc-page .oc-catalog-card .oc-button,
.oc-page .oc-service-hero .oc-button,
.oc-page .oc-catalog-nav .oc-button,
.oc-page .oc-service-related .oc-button { padding: 0 !important; background: transparent !important; border: 0 !important; display: block; }
.oc-service-hero.e-con { padding: 150px 0 72px; background: #588568; color: #fff; }
.oc-service-hero__layout.e-con { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: center; gap: 48px; }
.oc-service-hero__layout:has(> :only-child) { grid-template-columns: minmax(0, 850px); }
.oc-service-hero__copy.e-con { padding: 0; gap: 22px; }
.oc-service-hero h1 { color: #fff !important; font-size: clamp(30px, 3.5vw, 49px); line-height: 1.16; overflow-wrap: anywhere; }
.oc-service-hero .oc-eyebrow,
.oc-service-hero .oc-eyebrow *,
.oc-service-back a { color: #ffd400 !important; }
.oc-service-back { font-size: 14px; }
.oc-service-lead, .oc-service-lead * { font-size: 19px; color: #fff !important; line-height: 1.6; }
.oc-service-starting-price, .oc-service-starting-price * { font-size: 27px; font-weight: 700; color: #fff !important; }
.oc-page .oc-service-hero__photo img { display: block; width: 100%; height: 510px; object-fit: cover; border-radius: 24px; }
.oc-service-description.e-con { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.oc-service-description__intro.e-con { padding: 0; }
.oc-service-description .oc-section-heading { margin-bottom: 20px; }
.oc-service-description p, .oc-task-list li { font-size: 18px; line-height: 1.65; }
.oc-task-list { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.oc-task-list li { padding: 20px 0 20px 30px; border-bottom: 1px solid #dce2dc; position: relative; }
.oc-task-list li::before { content: '✓'; position: absolute; top: 20px; left: 0; color: #588568; font-weight: 800; }
.oc-service-gallery.e-con { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 0; }
.oc-page .oc-service-gallery img { width: 100%; height: 370px; object-fit: cover; border-radius: 20px; }
.oc-page img[src*="oc-sept-rotary.webp"] { object-position: 50% 80%; }
.oc-page img[src*="oc-sept-floor.webp"] { object-position: 50% 33%; }
.oc-service-faq.e-con { padding: 24px 0; border-bottom: 1px solid #dce2dc; gap: 14px; }
.oc-service-faq h3 { font-size: 23px; line-height: 1.3; }
.oc-service-faq p { font-size: 18px; margin: 0; max-width: 900px; }
.oc-calculator { padding: 40px; background: #588568; border-radius: 24px; color: #fff; }
.oc-calculator .forminator-ui.forminator-custom-form { margin: 0 !important; }
body .oc-calculator .forminator-ui .forminator-label,
body .oc-calculator .forminator-ui .forminator-description,
body .oc-calculator .forminator-ui .forminator-consent__label,
body .oc-calculator .forminator-ui .forminator-consent__label p,
body .oc-calculator .forminator-ui .forminator-html p,
body .oc-calculator .forminator-ui h3 { color: #fff !important; }
body .oc-calculator .forminator-ui .forminator-label { font: 600 15px/1.45 Inter, Arial, sans-serif !important; margin-bottom: 10px !important; }
body .oc-calculator .forminator-ui input,
body .oc-calculator .forminator-ui select,
body .oc-calculator .forminator-ui textarea,
body .oc-calculator .forminator-ui .select2-selection,
body .oc-calculator .forminator-ui .select2-selection__rendered {
  font: 400 16px/1.5 Inter, Arial, sans-serif !important;
  color: #101714 !important;
  background: #fff !important;
  min-height: 50px;
  border-radius: 8px !important;
  border: 1px solid #dce2dc;
}
body .oc-calculator .forminator-ui input[type="checkbox"] { min-height: 20px; }
body .oc-calculator .forminator-ui textarea { min-height: 104px; resize: vertical; }
body .oc-calculator .forminator-ui textarea[name="textarea-2"] { background: #f5f5d9 !important; font-weight: 600 !important; }
body .oc-calculator .forminator-ui .forminator-html,
body .oc-calculator .forminator-ui .forminator-html p { font-family: Inter, Arial, sans-serif !important; }
body .oc-calculator .forminator-ui h3 { font-size: 22px; line-height: 1.3; }
body .oc-calculator .forminator-row[hidden] { display: none !important; }
.oc-extras-toggle { padding: 12px 18px; border: 1px solid #ffd400; border-radius: 8px; color: #ffd400 !important; background: transparent !important; font: 600 15px/1.4 Inter, Arial, sans-serif; }
.oc-extras-toggle:hover { background: #476c50 !important; }
.oc-calculator :focus-visible { outline: 3px solid #ffd400; outline-offset: 3px; }
body .oc-calculator .forminator-ui .forminator-response-message.forminator-success { color: #153f2c !important; background: #fff !important; }
@media (max-width: 1024px) {
  .oc-service-hero.e-con { padding-top: 140px; }
  .oc-service-hero__layout.e-con { gap: 28px; }
  .oc-page .oc-service-hero__photo img { height: 430px; }
  .oc-service-description.e-con { gap: 30px; }
}
@media (max-width: 767px) {
  .oc-catalog-grid.e-con, .oc-service-hero__layout.e-con, .oc-service-description.e-con, .oc-service-gallery.e-con { grid-template-columns: minmax(0, 1fr); }
  .oc-catalog-card__copy.e-con { padding: 23px; }
  .oc-page .oc-catalog-card__photo img { height: 230px; }
  .oc-service-hero.e-con { padding: 112px 0 42px; }
  .oc-service-hero h1 { font-size: 29px; }
  .oc-service-lead, .oc-service-lead * { font-size: 17px; }
  .oc-page .oc-service-hero__photo img { height: 290px; }
  .oc-page .oc-service-gallery img { height: 280px; }
  .oc-service-faq h3 { font-size: 20px; }
  .oc-service-description p, .oc-task-list li, .oc-service-faq p { font-size: 16px; }
  .oc-calculator { padding: 24px 18px; border-radius: 20px; }
  .oc-catalog-nav.e-con { gap: 8px; }
  .oc-catalog-nav .elementor-button { padding: 13px 14px !important; font-size: 12px !important; }
}

/* Reference page composition in the existing Olenclean visual language. */
.oc-page.e-con:has(.oc-ref-titlebar), .oc-ref-page.e-con { gap: 0 !important; padding: 0 !important; }
.oc-ref-section.e-con { padding-block: 64px; }
.oc-ref-section .oc-page-shell.e-con { gap: 26px; }
.oc-ref-section h2, .oc-ref-feature h2, .oc-ref-home-intro h1 { font-size: clamp(28px, 3vw, 40px); line-height: 1.18; color: #588568; }
.oc-ref-feature h2 { font-size: clamp(26px, 2.4vw, 34px); overflow-wrap: normal; word-break: normal; }
.oc-ref-section p, .oc-ref-feature p, .oc-ref-home-intro p { font-size: 17px; line-height: 1.65; margin-bottom: 16px; }
.oc-ref-feature .elementor-widget-text-editor, .oc-ref-home-intro .elementor-widget-text-editor, .oc-ref-section:not(.oc-section--green) > .oc-page-shell > .elementor-widget-text-editor, .oc-ref-benefit .elementor-widget-text-editor { color: #26352d !important; }
.oc-ref-titlebar.e-con { background: #588568; padding: 144px 0 34px; }
.oc-ref-titlebar__row.e-con { flex-direction: row !important; align-items: center; justify-content: space-between; gap: 30px; }
.oc-ref-titlebar h1, .oc-ref-titlebar h2 { color: #fff !important; font-size: 44px; white-space: nowrap; }
.oc-ref-tabs.e-con { flex-direction: row !important; gap: 0; padding: 0; width: auto; border: 1px solid #fff; border-radius: 50px; overflow: hidden; }
.oc-ref-tab.elementor-widget { width: auto !important; }
.oc-ref-tab .elementor-button { border-radius: 0 !important; padding: 20px 24px; background: transparent !important; color: #fff !important; font: 500 15px/1.3 Inter,Arial,sans-serif !important; box-shadow: none; border: 0; }
.oc-ref-tab.is-active .elementor-button { background: #fff !important; color: #588568 !important; }
.oc-ref-tab .elementor-button:hover { background: #ffd400; color: #102c20; }
.oc-ref-hero.e-con { padding: 48px 0; background: #fff; }
.oc-ref-hero--detail.e-con { padding-top: 150px; }
.oc-ref-hero__row.e-con { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.08fr); gap: 48px; align-items: center; background: transparent; }
.oc-ref-hero--index .oc-ref-hero__photo { order: 2; }
.oc-ref-hero--index .oc-ref-hero__row.e-con { grid-template-columns: minmax(0,1.08fr) minmax(0,1fr); }
.oc-ref-hero__copy.e-con { padding: 0; gap: 18px; }
.oc-ref-hero__copy h1, .oc-ref-hero__copy h2 { color: #588568 !important; font-size: clamp(29px,3vw,42px); line-height: 1.14; }
.oc-ref-hero__copy h2 span { white-space: nowrap; }
.oc-ref-hero .oc-eyebrow { margin: 0; font-size: 12px; color: #588568; }
.oc-page .oc-ref-hero__photo { min-height: 0; height: auto; align-self: center; }
.oc-page .oc-ref-hero__photo .elementor-widget-container { height: auto; }
.oc-page .oc-ref-hero__photo img { display: block; width: 100%; height: auto; min-height: 0; max-height: 440px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 20px; }
.oc-ref-hero-note p { font-size: 15px; border-block: 1px solid #dce2dc; padding: 12px 0; margin: 0; }
.oc-ref-equipment-visual.e-con { background: #588568; color: white; padding: 48px; justify-content: center; }
.oc-ref-equipment-visual h2 { font-size: 72px; color: #ffd400; }
.oc-ref-equipment-visual h2 span { font-size: 36px; }
.oc-ref-equipment-visual p, .oc-ref-equipment-visual .oc-eyebrow { color: white; }
.oc-ref-equipment-area { margin-top: 40px; color: #ffd400; }
.oc-ref-feature.e-con { background: #f2f4ef; padding: 0; }
.oc-ref-feature:nth-of-type(even) { background: #fff; }
.oc-ref-feature__row.e-con { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.08fr); gap: 0; align-items: stretch; }
.oc-ref-feature--reverse .oc-ref-feature__photo { order: 2; }
.oc-ref-feature__copy.e-con { padding: 54px 38px; gap: 14px; }
.oc-page .oc-ref-feature__photo { height: auto; min-height: 0; align-self: center; }
.oc-page .oc-ref-feature__photo .elementor-widget-container { height: auto; }
.oc-page .oc-ref-feature__photo img { display: block; width: 100%; height: auto; min-height: 0; max-height: 440px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 20px; }
.oc-ref-home-intro { background: #fff; }
.oc-ref-home-intro .oc-ref-feature__copy { padding-left: 0; padding-right: 48px; }
.oc-ref-actions.e-con { flex-direction: row !important; flex-wrap: wrap; gap: 10px; padding: 8px 0 0; }
.oc-ref-actions .elementor-widget-button, .oc-ref-price-title .elementor-widget-button { width: auto !important; }
.oc-ref-button .elementor-button { background: #ffd400 !important; color: #102c20 !important; padding: 17px 24px; border: 1px solid #ffd400; border-radius: 28px; font: 600 15px/1.3 Inter,Arial,sans-serif; box-shadow: none; }
.oc-ref-button--outline .elementor-button { background: transparent !important; color: #588568 !important; border-color: #588568; }
.oc-ref-button .elementor-button:hover { background: #ffe879 !important; color: #102c20 !important; }
.oc-ref-inline-links { display: flex; flex-wrap: wrap; gap: 9px 18px; }
.oc-ref-inline-links a { color: #588568; text-decoration: underline; }
.oc-ref-checklist { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.oc-ref-checklist li { padding: 9px 0 9px 25px; font-size: 17px; line-height: 1.5; position: relative; }
.oc-ref-checklist li::before { content: '›'; position: absolute; left: 0; font-weight: 700; color: #588568; }
.oc-ref-equipment-summary.e-con { display: grid; grid-template-columns: 1fr 1.08fr; gap: 56px; }
.oc-ref-equipment-section h2, .oc-ref-equipment-section p { color: #fff !important; }
.oc-ref-equipment-section .oc-ref-button--outline .elementor-button { color: #fff !important; border-color: #fff; }
.oc-ref-price-title.e-con { flex-direction: row !important; justify-content: space-between; align-items: center; gap: 20px; }
.oc-ref-price-table { width: 100%; border: 0 !important; border-collapse: collapse; background: #fff; margin: 0; font-size: 18px; }
.oc-ref-price-table th, .oc-ref-price-table td { padding: 23px 32px; border: 0; border-bottom: 1px solid #e3e9e1; text-align: left; }
.oc-ref-price-table th { background: #588568; color: #fff; font-size: 17px; }
.oc-ref-price-table th:last-child, .oc-ref-price-table td:last-child { width: 30%; white-space: nowrap; }
.oc-ref-formats.e-con { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.oc-ref-format.e-con { border: 1px solid #dce2dc; border-radius: 16px; background: #f2f4ef; padding: 24px 18px; justify-content: space-between; gap: 24px; }
.oc-ref-format h3 { font: 600 18px/1.3 Inter,Arial,sans-serif; color: #588568; }
.oc-ref-format-link .elementor-button { color: #588568; background: none; padding: 0; font: 500 14px/1.4 Inter,Arial,sans-serif; box-shadow: none; }
.oc-ref-accordion .elementor-toggle-item { border-bottom: 1px solid #dce2dc; }
.oc-ref-accordion .elementor-tab-title { padding: 23px 0 !important; border: 0 !important; font: 600 20px/1.35 Inter,Arial,sans-serif !important; color: #588568 !important; }
.oc-ref-accordion .elementor-tab-title a { color: inherit !important; }
.oc-ref-accordion .elementor-tab-content { padding: 0 25px 24px !important; border: 0 !important; font: 400 17px/1.6 Inter,Arial,sans-serif; color: #101714 !important; }
.oc-ref-accordion .elementor-toggle-icon { color: #588568 !important; }
.oc-ref-benefits.e-con { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.oc-ref-benefit.e-con { border-top: 3px solid #ffd400; padding: 24px 0 0; gap: 12px; }
.oc-ref-benefit h3 { color: #588568; font: 600 23px/1.25 Inter,Arial,sans-serif; }
.oc-ref-gallery.e-con { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.oc-page .oc-ref-gallery img { width: 100%; height: 340px; object-fit: cover; border-radius: 18px; }
.oc-ref-related.e-con { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.oc-ref-related-card.e-con { padding: 0; background: #fff; border-radius: 16px; overflow: hidden; gap: 0; }
.oc-ref-related-card .elementor-widget-heading { padding: 24px; }
.oc-ref-related-card h3, .oc-ref-related-card h3 a { font-size: 20px; line-height: 1.3; color: #588568; }
.oc-page .oc-ref-related-card img { width: 100%; height: 190px; object-fit: cover; }
.oc-ref-clients.e-con { grid-template-columns: repeat(6,minmax(0,1fr)); }
.oc-ref-clients .oc-logo.e-con { height: 160px; min-height: 160px; padding: 0; overflow: hidden; }
.oc-ref-clients .oc-logo .elementor-widget-image { width: 100%; }
.oc-page .oc-ref-clients img[src*="Frame-"] { width: 160px; height: 160px; max-height: none; max-width: none; transform: scale(1.2); }
.oc-page .oc-ref-clients img[src*="academy-top"], .oc-page .oc-ref-clients img[src*="pinskdrev"] { width: 110px; height: 78px; object-fit: contain; }
.oc-page .oc-ref-equipment-visual .elementor-widget-text-editor { color: #fff !important; }
.oc-page .oc-ref-equipment-visual .oc-ref-equipment-area, .oc-page .oc-ref-equipment-visual h2 { color: #ffd400 !important; }
.oc-page .oc-ref-photo-carousel img { width: 100%; height: 420px; object-fit: cover; border-radius: 18px; }
.oc-ref-photo-carousel .elementor-swiper-button { background: #fff; color: #588568; padding: 14px; border-radius: 50%; font-size: 18px; }

/* Short first-screen form. */
body .oc-quick-form .forminator-ui.forminator-custom-form { margin: 0 !important; display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; }
body .oc-quick-form .forminator-row { grid-column: 1/-1; margin: 0 0 14px !important; }
body .oc-quick-form .forminator-col { padding: 0 !important; margin: 0 !important; width: 100% !important; }
body .oc-quick-form .forminator-ui .forminator-label, body .oc-quick-form .forminator-ui .forminator-radio-label, body .oc-quick-form .forminator-ui .forminator-consent__label, body .oc-quick-form .forminator-ui .forminator-consent__label p { color: #101714 !important; font: 400 14px/1.5 Inter,Arial,sans-serif !important; }
body .oc-quick-form .forminator-ui .forminator-label { margin-bottom: 8px; }
body .oc-quick-form .forminator-ui .forminator-radio { margin: 0 0 7px !important; }
body .oc-quick-form .forminator-ui input.forminator-input { background: #fff !important; border: 1px solid #cbd7cc !important; border-radius: 8px !important; min-height: 47px; font: 400 15px/1.4 Inter,Arial,sans-serif !important; color: #101714 !important; }
body .oc-quick-form .forminator-ui .forminator-consent__label a { color: #588568 !important; }
body .oc-quick-form .oc-quick-phone { grid-column: 1 !important; }
body .oc-quick-form .oc-quick-submit { grid-column: 2 !important; align-self: end; }
body .oc-quick-form .forminator-button-submit { width: 100%; border-radius: 24px !important; font: 600 14px/1.25 Inter,Arial,sans-serif !important; padding: 13px 12px !important; }
body .oc-quick-form .oc-quick-areas .forminator-field { display: flex; flex-wrap: wrap; gap: 6px; }
body .oc-quick-form .oc-quick-areas .forminator-label { width: 100%; }
body .oc-quick-form .oc-quick-areas .forminator-radio { border: 1px solid #cbd7cc; border-radius: 7px; padding: 10px 11px !important; cursor: pointer; }
body .oc-quick-form .oc-quick-areas .forminator-radio:has(input:checked) { background: #ffd400; border-color: #ffd400; }
body .oc-quick-form .oc-quick-areas .forminator-radio-bullet { display: none !important; }
body .oc-quick-form .oc-quick-areas input[type="radio"] { position: absolute; opacity: 0; width: 1px; height: 1px; }
body .oc-quick-form .oc-quick-areas .forminator-radio:focus-within { outline: 2px solid #588568; outline-offset: 2px; }
body .oc-quick-form .oc-quick-areas .forminator-radio-label { margin: 0 !important; font-size: 13px !important; }
body .oc-quick-form .forminator-radio input:checked + .forminator-radio-bullet { border-color: #588568 !important; background: #fff !important; }
body .oc-quick-form .forminator-radio-bullet::before { background: #588568 !important; }
body .oc-quick-form .forminator-checkbox-box { border-color: #588568 !important; }
body .oc-quick-form input { accent-color: #588568; }
body .oc-quick-form :focus-visible { outline: 2px solid #588568; outline-offset: 3px; }
body .oc-quick-form .forminator-error-message { color: #9a1d20 !important; }
body .oc-quick-form .forminator-response-message { grid-column: 1/-1; }

/* Detailed calculator: native fields grouped into options and order summary. */
body .oc-calculator { background: transparent; border-radius: 0; padding: 0; color: #101714; }
body .oc-calculator .forminator-ui.oc-calc-layout { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(0,1fr); align-items: start; gap: 24px; }
body .oc-calculator .forminator-response-message { grid-column: 1/-1; }
body .oc-calculator .oc-calc-options { border: 1px solid #dce2dc; border-radius: 16px; padding: 24px; overflow: hidden; }
body .oc-calculator .oc-calc-order { background: #588568; border-radius: 16px; padding: 26px; color: white; }
body .oc-calculator .oc-calc-order .forminator-row { margin: 0 0 17px !important; }
body .oc-calculator .oc-calc-order .forminator-col { width: 100% !important; padding: 0 !important; margin: 0 !important; }
body .oc-calculator .oc-calc-options .forminator-label, body .oc-calculator .oc-calc-options .forminator-description, body .oc-calculator .oc-calc-options .forminator-html p, body .oc-calculator .oc-calc-options h3 { color: #101714 !important; }
body .oc-calculator .oc-calc-options .forminator-col { min-width: 0; }
body .oc-calculator .oc-calc-options .forminator-row { margin-bottom: 22px !important; }
body .oc-calculator .oc-calc-options input, body .oc-calculator .oc-calc-options .select2-selection { border: 1px solid #cbd7cc !important; }
.oc-calc-total { margin-bottom: 24px; border-bottom: 1px solid #ffffff35; padding-bottom: 24px; }
.oc-calc-total p { color: #fff; font: 500 16px/1.5 Inter,Arial,sans-serif; margin: 0 0 14px; }
body .oc-calculator .oc-calc-total output { display: block; color: #ffd400 !important; font: 600 38px/1.2 Inter,Arial,sans-serif !important; margin: 15px 0; }
.oc-calc-total .oc-calc-note { font-size: 13px; opacity: .85; margin: 0; }
body .oc-calculator .oc-calc-summary { display: none !important; }
body .oc-calculator .oc-calc-options .oc-calc-extra { border-top: 1px solid #dce2dc; margin: 0 -24px !important; padding: 18px 24px !important; }
body .oc-calculator .oc-calc-extra .forminator-col { padding: 0 !important; width: 100% !important; }
body .oc-calculator .oc-calc-extra .forminator-field { display: grid; grid-template-columns: minmax(0,1fr) 66px 112px; align-items: center; gap: 12px; }
body .oc-calculator .oc-calc-extra .forminator-label { margin: 0 !important; font-weight: 400 !important; }
.oc-calc-extra-price { white-space: nowrap; font: 500 14px/1.4 Inter,Arial,sans-serif; }
.oc-calc-stepper { display: grid; grid-template-columns: 26px 44px 26px; align-items: center; gap: 4px; }
body .oc-calculator .oc-calc-stepper input { width: 44px !important; padding: 0 !important; text-align: center; min-height: 35px !important; border: none !important; appearance: textfield; -moz-appearance: textfield; }
.oc-calc-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; }
body .oc-calculator .oc-calc-stepper button { background: #fff; border: 1px solid #588568; border-radius: 50%; width: 26px; height: 26px; padding: 0; color: #588568; font: 600 20px/24px Inter,Arial,sans-serif; }
body .oc-calculator .oc-calc-stepper button:hover { background: #ffd400; }
body .oc-calculator .oc-calc-order .forminator-label { font-weight: 400 !important; font-size: 14px !important; margin-bottom: 7px !important; }
body .oc-calculator .oc-calc-order .forminator-button-submit { width: 100%; border-radius: 24px; }
body .oc-calculator .oc-calc-order .forminator-consent__label p { font: 400 12px/1.6 Inter,Arial,sans-serif; }
body .oc-calculator .oc-calc-order input { min-height: 44px; }
body .oc-calculator .oc-calc-parameters #number-1 { width: 26%; flex: 0 0 26%; order: 0; }
body .oc-calculator .oc-calc-parameters #select-2 { width: 74%; flex: 0 0 74%; order: 1; }
.oc-calc-rooms { display: inline-flex; gap: 7px; margin-right: 10px; }
body .oc-calculator .oc-calc-rooms button { border: 1px solid #cbd7cc; border-radius: 8px; background: #fff; color: #588568; padding: 10px 16px; font: 500 15px/1.3 Inter,Arial,sans-serif; }
body .oc-calculator .oc-calc-rooms button[aria-pressed="true"] { background: #ffd400; border-color: #ffd400; }
body .oc-calculator .oc-calc-rooms-row input { width: 68px !important; display: inline-block; }
body .oc-calculator .oc-calc-rooms-row .forminator-label { display: block; }

@media (max-width: 1024px) {
  .oc-ref-titlebar__row.e-con { flex-direction: column !important; align-items: start; }
  .oc-ref-titlebar { padding-top: 134px !important; }
  .oc-ref-titlebar h1, .oc-ref-titlebar h2 { font-size: 38px; }
  .oc-ref-hero__row.e-con { gap: 28px; }
  .oc-ref-feature__copy.e-con { padding: 38px 24px; }
  .oc-ref-formats.e-con { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .oc-ref-gallery.e-con { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .oc-ref-clients.e-con { grid-template-columns: repeat(3,minmax(0,1fr)); }
  body .oc-calculator .forminator-ui.oc-calc-layout { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 16px; }
  body .oc-calculator .oc-calc-extra .forminator-field { grid-template-columns: minmax(0,1fr) 112px; }
  .oc-calc-extra-price { grid-row: 2; }
  .oc-calc-stepper { grid-column: 2; grid-row: 1/3; }
}
@media (max-width: 767px) {
  .oc-ref-section.e-con { padding-block: 40px; }
  .oc-ref-titlebar.e-con { padding: 105px 0 24px !important; }
  .oc-ref-titlebar h1, .oc-ref-titlebar h2 { font-size: 31px; }
  .oc-ref-tabs.e-con { width: 100%; border-radius: 20px; }
  .oc-ref-tab.elementor-widget { width: 50% !important; }
  .oc-ref-tab .elementor-button { padding: 14px 10px; font-size: 12px; line-height: 1.5; width: 100%; }
  .oc-ref-hero.e-con { padding: 28px 0 36px; }
  .oc-ref-hero--detail.e-con { padding-top: 112px; }
  .oc-ref-hero__row.e-con, .oc-ref-hero--index .oc-ref-hero__row.e-con, .oc-ref-feature__row.e-con, .oc-ref-equipment-summary.e-con { grid-template-columns: minmax(0,1fr); }
  .oc-ref-hero__row.e-con { gap: 24px; }
  .oc-ref-hero__copy.e-con { padding: 0; order: 0; }
  .oc-page .oc-ref-hero__photo { order: 1; min-height: 0; }
  .oc-page .oc-ref-hero__photo img { min-height: 0; height: auto; max-height: 320px; border-radius: 16px; }
  .oc-ref-hero__copy h1, .oc-ref-hero__copy h2 { font-size: 30px; }
  .oc-ref-feature__copy.e-con, .oc-ref-home-intro .oc-ref-feature__copy { padding: 30px 0; order: 0; }
  .oc-ref-feature__photo { order: 1; }
  .oc-page .oc-ref-feature__photo img { height: auto; min-height: 0; max-height: 320px; border-radius: 16px; }
  .oc-ref-feature { padding-bottom: 28px !important; }
  .oc-ref-section p, .oc-ref-feature p, .oc-ref-home-intro p, .oc-ref-checklist li { font-size: 16px; }
  .oc-ref-equipment-summary.e-con { gap: 18px; }
  .oc-ref-price-title.e-con { flex-direction: column !important; align-items: start; }
  .oc-ref-price-table th, .oc-ref-price-table td { padding: 16px 12px; font-size: 14px; }
  .oc-ref-price-table td:last-child { white-space: normal; width: 35%; }
  .oc-ref-formats.e-con { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .oc-ref-benefits.e-con { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .oc-ref-gallery.e-con { gap: 12px; }
  .oc-page .oc-ref-gallery img { height: 230px; }
  .oc-page .oc-ref-photo-carousel img { height: 310px; }
  body .oc-calculator .oc-calc-parameters #number-1, body .oc-calculator .oc-calc-parameters #select-2 { width: 100%; flex-basis: 100%; }
  .oc-ref-related.e-con { grid-template-columns: minmax(0,1fr); }
  .oc-ref-clients.e-con { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body .oc-calculator .forminator-ui.oc-calc-layout { grid-template-columns: minmax(0,1fr); }
  body .oc-calculator .oc-calc-options { padding: 20px; }
  body .oc-calculator .oc-calc-options .oc-calc-extra { margin-inline: -20px !important; padding-inline: 20px !important; }
  body .oc-calculator .oc-calc-order { padding: 24px 20px; }
  .oc-ref-accordion .elementor-tab-title { font-size: 18px !important; }
  .oc-ref-accordion .elementor-tab-content { padding-inline: 0 !important; }
}
