/* Styles that were inline in the page body on the original site. */

/* Process carousel */
.no-scrollbar::-webkit-scrollbar {
                display: none;
            }
            .no-scrollbar {
                -ms-overflow-style: none;
                scrollbar-width: none;
            }

/* Quote modal (Contact Form 7 #53) */
.cfrits-modal-cf7-wrapper .wpcf7-form-control-wrap {
                    display: block;
                    width: 100%;
                    position: relative;
                }
                .cfrits-modal-cf7-wrapper .form-input,
                .cfrits-modal-cf7-wrapper input[type="text"],
                .cfrits-modal-cf7-wrapper input[type="tel"],
                .cfrits-modal-cf7-wrapper input[type="email"],
                .cfrits-modal-cf7-wrapper select,
                .cfrits-modal-cf7-wrapper textarea {
                    width: 100%;
                    padding: 0.75rem 1rem;
                    border: 1.5px solid #e2e8f0;
                    border-radius: 0.75rem;
                    font-size: 0.875rem;
                    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
                    color: #1e293b;
                    background-color: #f8fafc;
                    transition: all 0.2s ease-in-out;
                    outline: none;
                    box-sizing: border-box;
                }
                .cfrits-modal-cf7-wrapper .form-input:focus,
                .cfrits-modal-cf7-wrapper input:focus,
                .cfrits-modal-cf7-wrapper select:focus,
                .cfrits-modal-cf7-wrapper textarea:focus {
                    border-color: #059669;
                    background-color: #ffffff;
                    box-shadow: 0 0 0 3.5px rgba(5, 150, 105, 0.12);
                }
                .cfrits-modal-cf7-wrapper select.form-input {
                    appearance: none;
                    -webkit-appearance: none;
                    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23475569'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
                    background-repeat: no-repeat;
                    background-position: right 0.875rem center;
                    background-size: 1rem;
                    padding-right: 2.25rem;
                    cursor: pointer;
                }
                .cfrits-modal-cf7-wrapper textarea.form-input {
                    min-height: 72px;
                    resize: vertical;
                }
                .cfrits-modal-cf7-wrapper .wpcf7-submit {
                    width: 100%;
                    display: inline-flex;
                    align-items: center;
                    justify-content: center;
                    padding: 0.875rem 1.5rem;
                    font-size: 0.875rem;
                    font-weight: 700;
                    border-radius: 9999px;
                    background: linear-gradient(135deg, #059669 0%, #047857 100%);
                    color: #ffffff;
                    border: 1px solid rgba(255, 255, 255, 0.2);
                    box-shadow: 0 4px 14px 0 rgba(5, 150, 105, 0.38);
                    cursor: pointer;
                    transition: all 0.25s ease;
                }
                .cfrits-modal-cf7-wrapper .wpcf7-submit:hover {
                    transform: translateY(-1px);
                    box-shadow: 0 6px 20px 0 rgba(5, 150, 105, 0.5);
                    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
                }
                .cfrits-modal-cf7-wrapper .wpcf7-submit:active {
                    transform: translateY(0);
                }
                .cfrits-modal-cf7-wrapper .wpcf7-spinner {
                    display: block;
                    margin: 0.5rem auto 0;
                }
                .cfrits-modal-cf7-wrapper .wpcf7-not-valid-tip {
                    color: #dc2626;
                    font-size: 0.75rem;
                    font-weight: 600;
                    margin-top: 0.25rem;
                }
                .cfrits-modal-cf7-wrapper .wpcf7-not-valid {
                    border-color: #f87171 !important;
                    background-color: #fef2f2 !important;
                }
                .cfrits-modal-cf7-wrapper .wpcf7-response-output {
                    margin-top: 1rem !important;
                    padding: 0.75rem 1rem !important;
                    border-radius: 0.75rem !important;
                    font-size: 0.8125rem !important;
                    font-weight: 600 !important;
                    text-align: center;
                }
                .cfrits-modal-cf7-wrapper .wpcf7 form.sent .wpcf7-response-output {
                    border: 1.5px solid #059669 !important;
                    background: #ecfdf5 !important;
                    color: #065f46 !important;
                }
                .cfrits-modal-cf7-wrapper .wpcf7 form.invalid .wpcf7-response-output,
                .cfrits-modal-cf7-wrapper .wpcf7 form.failed .wpcf7-response-output {
                    border: 1.5px solid #f87171 !important;
                    background: #fef2f2 !important;
                    color: #991b1b !important;
                }

/* Contact page form (Contact Form 7 #52) */
/* ── CF7 Premium Styling ──────────────────────────── */
                    .cfrits-cf7-wrapper .wpcf7 {
                        font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
                    }

                    .cfrits-cf7-wrapper .wpcf7-form {
                        display: flex;
                        flex-direction: column;
                        gap: 1.25rem;
                    }

                    .cfrits-cf7-wrapper .wpcf7-form label {
                        display: block;
                        font-size: 0.875rem;
                        font-weight: 600;
                        color: #334155;
                        margin-bottom: 0.35rem;
                    }

                    .cfrits-cf7-wrapper .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-checkbox):not(.wpcf7-radio):not(.wpcf7-acceptance) {
                        width: 100%;
                        padding: 0.75rem 1rem;
                        border: 1.5px solid #d1fae5;
                        border-radius: 0.75rem;
                        font-size: 0.9375rem;
                        font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
                        color: #1e293b;
                        background: #ffffff;
                        transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
                        outline: none;
                        -webkit-appearance: none;
                    }

                    .cfrits-cf7-wrapper .wpcf7-form-control:not(.wpcf7-submit):focus {
                        border-color: #059669;
                        box-shadow: 0 0 0 4px rgba(5, 150, 105, 0.12);
                    }

                    .cfrits-cf7-wrapper .wpcf7-form-control::placeholder {
                        color: #94a3b8;
                    }

                    .cfrits-cf7-wrapper textarea.wpcf7-form-control {
                        min-height: 140px;
                        resize: vertical;
                    }

                    /* Two-column row for name fields */
                    .cfrits-cf7-wrapper .cf7-row {
                        display: flex;
                        gap: 1.25rem;
                    }

                    .cfrits-cf7-wrapper .cf7-row > p,
                    .cfrits-cf7-wrapper .cf7-row > div {
                        flex: 1;
                    }

                    @media (max-width: 640px) {
                        .cfrits-cf7-wrapper .cf7-row {
                            flex-direction: column;
                            gap: 1rem;
                        }
                    }

                    /* Submit Button */
                    .cfrits-cf7-wrapper .wpcf7-submit {
                        display: inline-flex;
                        align-items: center;
                        justify-content: center;
                        gap: 0.5rem;
                        padding: 0.85rem 2.5rem;
                        background: linear-gradient(135deg, #059669 0%, #047857 100%);
                        color: white;
                        font-weight: 700;
                        font-size: 0.9375rem;
                        font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
                        border: 1px solid rgba(255, 255, 255, 0.2);
                        border-radius: 9999px;
                        cursor: pointer;
                        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
                        box-shadow: 0 4px 18px rgba(5, 150, 105, 0.35);
                        letter-spacing: 0.01em;
                        -webkit-appearance: none;
                    }

                    .cfrits-cf7-wrapper .wpcf7-submit:hover {
                        transform: translateY(-2px);
                        box-shadow: 0 8px 28px rgba(5, 150, 105, 0.5);
                        background: linear-gradient(135deg, #10b981 0%, #059669 100%);
                    }

                    .cfrits-cf7-wrapper .wpcf7-submit:active {
                        transform: translateY(0);
                    }

                    /* Spinner */
                    .cfrits-cf7-wrapper .wpcf7-spinner {
                        margin-left: 0.5rem;
                    }

                    /* Validation errors */
                    .cfrits-cf7-wrapper .wpcf7-not-valid-tip {
                        color: #dc2626;
                        font-size: 0.8125rem;
                        font-weight: 500;
                        margin-top: 0.35rem;
                    }

                    .cfrits-cf7-wrapper .wpcf7-not-valid {
                        border-color: #fca5a5 !important;
                    }

                    .cfrits-cf7-wrapper .wpcf7-not-valid:focus {
                        box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.12) !important;
                    }

                    /* Success / Error response messages */
                    .cfrits-cf7-wrapper .wpcf7-response-output {
                        margin-top: 1rem !important;
                        padding: 1rem 1.25rem !important;
                        border-radius: 0.75rem !important;
                        font-size: 0.875rem !important;
                        font-weight: 600 !important;
                    }

                    .cfrits-cf7-wrapper .wpcf7-mail-sent-ok,
                    .cfrits-cf7-wrapper .wpcf7 form.sent .wpcf7-response-output {
                        border-color: #059669 !important;
                        background: #ecfdf5 !important;
                        color: #065f46 !important;
                    }

                    .cfrits-cf7-wrapper .wpcf7 form.failed .wpcf7-response-output,
                    .cfrits-cf7-wrapper .wpcf7 form.aborted .wpcf7-response-output {
                        border-color: #dc2626 !important;
                        background: #fef2f2 !important;
                        color: #991b1b !important;
                    }

                    .cfrits-cf7-wrapper .wpcf7 form.invalid .wpcf7-response-output {
                        border-color: #f59e0b !important;
                        background: #fffbeb !important;
                        color: #92400e !important;
                    }

                    /* Select dropdown */
                    .cfrits-cf7-wrapper select.wpcf7-form-control {
                        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23475569' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
                        background-repeat: no-repeat;
                        background-position: right 1rem center;
                        padding-right: 2.5rem;
                    }

/* Statistics: two cards per row on phones need tighter padding */
@media (max-width: 639px) {
  .stat-card-luxury.stat-card-compact { padding: 1.25rem 0.75rem; }
}

/* ── Responsive refinements ─────────────────────────────── */

/* Small dot buttons get a 32px+ invisible touch area without changing their look. */
.card-dot, [data-slide-dot] { position: relative; }
.card-dot::after, [data-slide-dot]::after { content: ""; position: absolute; inset: -12px -4px; }

/* Side-entrance animations become vertical on phones (no sideways shift on narrow screens). */
@media (max-width: 767px) {
  .reveal-on-scroll.reveal-left, .reveal-on-scroll.reveal-right { transform: translateY(24px); }
  .reveal-on-scroll.reveal-left.revealed, .reveal-on-scroll.reveal-right.revealed { transform: none; }
}

/* Respect reduced-motion preferences. */
@media (prefers-reduced-motion: reduce) {
  .reveal-on-scroll, .reveal-on-scroll.reveal-left, .reveal-on-scroll.reveal-right { opacity: 1 !important; transform: none !important; transition: none !important; }
  .marquee-track { animation-duration: 120s !important; }
}

/* Long words, URLs and tables in articles never force the page wider than the screen. */
.blog-detail-content, .entry-content, .comment-content { overflow-wrap: anywhere; }
.blog-detail-content table, .entry-content table { display: block; max-width: 100%; overflow-x: auto; }
.blog-detail-content img, .entry-content img, .blog-detail-content iframe, .entry-content iframe { max-width: 100%; height: auto; }

/* Archive, search and 404 pages (WordPress theme layout) keep their columns inside the page. */
.site-inner { width: 100%; }
@media (max-width: 56.8125em) {
  .site-content .content-area, .site-content .sidebar { float: none; width: auto; margin: 0; }
}
