/* Small additions on top of the captured theme: forms, package gallery, newsletter box, admin notices. */

.hp { position: absolute !important; left: -9999px; height: 0; overflow: hidden; }
.cms-form-widget { scroll-margin-top: 120px; }
.cms-form .elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; }
.cms-form .elementor-field-group { padding: 0 10px 20px; }
.cms-form .elementor-field-label { display: block; margin-bottom: 6px; font-weight: 600; }
.cms-form .elementor-field-textual { width: 100%; border: 1px solid #ddd; border-radius: 3px; padding: 12px 16px; font-size: 15px; background: #fff; color: #333; }
.cms-form .elementor-select-wrapper { position: relative; }
.cms-form select.elementor-field-textual { appearance: none; -webkit-appearance: none; padding-right: 40px; }
.cms-form .select-caret-down-wrapper { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); pointer-events: none; }
.cms-form .cms-multiselect { height: auto; min-height: 180px; }
.cms-form .cms-help { display: block; margin-top: 6px; color: #777; font-size: 13px; }
.cms-form .elementor-error .elementor-field-textual { border-color: #d9534f; }
.cms-form .cms-field-error { display: block; margin-top: 6px; font-size: 13px; }
.elementor-message { padding: 14px 18px; border-radius: 3px; margin: 0 10px 20px; border: 1px solid; }
.elementor-message-success { background: #edf7ee; border-color: #b9dfbb; color: #1e5b23; }
.elementor-message-danger { background: #fbeceb; border-color: #e6b3b0; color: #7d1a14; }
.cms-form .elementor-button { width: 100%; }

/* package gallery (replaces WooCommerce's flexslider): main photo + 4-column thumbnails, like the old site */
.cms-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; padding: 30px 40px; }
.cms-gallery-item { cursor: zoom-in; }
.cms-gallery-item a { display: block; }
.cms-gallery-item img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border: 1px solid #e5e5e5; }
.cms-gallery-main { grid-column: 1 / -1; text-align: center; }
.cms-gallery-main img { aspect-ratio: auto; width: auto; max-width: 100%; max-height: 420px; margin: 0 auto 16px; border: 0; }
@media (max-width: 767px) { .cms-gallery { padding: 16px; } }
.product-details .vs-btn { margin-top: 10px; }

/* newsletter box in the footer */
.cms-newsletter { margin-top: 18px; }
.cms-newsletter form { display: flex; gap: 8px; flex-wrap: wrap; }
.cms-newsletter input[type=email] { flex: 1 1 180px; padding: 12px 16px; border: 1px solid #ddd; border-radius: 3px; }
.cms-newsletter .notice { padding: 10px 14px; border-radius: 3px; background: #edf7ee; color: #1e5b23; }
.cms-newsletter .notice-error { background: #fbeceb; color: #7d1a14; }

.cms-post-content img { max-width: 100%; height: auto; }
.alert-warning { background: #fff3cd; border: 1px solid #ffe69c; color: #664d03; padding: 12px 16px; border-radius: 4px; }
