/*
Theme Name: TransferWP Theme
Theme URI: https://example.com
Author: Antigravity
Author URI: https://example.com
Description: A basic WordPress theme with Tailwind CSS.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: transferwp

--------------------------------------------------------------
TABLE OF CONTENTS:
1. Variables & Typography
2. Utilities & Animations
3. WordPress Core Alignment Classes
4. WordPress Captions & Galleries
5. Comments
6. Widgets
7. Pagination
8. Sticky Post
9. Media
10. Tables
11. Flatpickr Overrides
--------------------------------------------------------------
*/

/* =================================================================*********
 *  1. Variables & Typography
 * =================================================================********* */

:root {
    --font-heading: 'DM Serif Display', serif;
    --font-body: 'Manrope', sans-serif;
}

body {
    font-family: var(--font-body);
    color: #242527;
    /* Brand Charcoal */
    line-height: 1.6;
}

h1,
h2,
h3,
h4,
h5,
h6,
.font-heading {
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1.2;
}

/* =================================================================*********
 *  2. Utilities & Animations
 * =================================================================********* */

@keyframes slow-zoom {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.1);
    }
}

.animate-slow-zoom {
    animation: slow-zoom 20s linear infinite alternate;
}

/* =================================================================*********
 *  3. WordPress Core Alignment Classes
 * =================================================================********* */

.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* =================================================================*********
 *  4. WordPress Captions & Galleries
 * =================================================================********* */

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    /* Image width plus 10px padding */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* =================================================================*********
 *  5. Comments
 * =================================================================********* */

.comment-content a {
    word-wrap: break-word;
}

.bypostauthor {
    display: block;
}

/* =================================================================*********
 *  6. Widgets
 * =================================================================********* */

.widget {
    margin: 0 0 1.5em;
}

.widget select {
    max-width: 100%;
}

/* =================================================================*********
 *  7. Pagination
 * =================================================================********* */

.page-links {
    clear: both;
    margin: 0 0 1.5em;
}

/* =================================================================*********
 *  8. Sticky Post
 * =================================================================********* */

.sticky {
    display: block;
}

.hentry {
    margin: 0 0 1.5em;
}

/* =================================================================*********
 *  9. Media
 * =================================================================********* */

.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}

/* Make sure embeds and iframes are responsive */
embed,
iframe,
object {
    max-width: 100%;
}

.wp-block-button__link {
    color: #fff;
}

/* =================================================================*********
 *  10. Tables
 * =================================================================********* */

/* Responsive Table Wrapper */
.wp-block-table,
.table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 1.5em;
    /* Optional: Add max-height for vertical scroll if content is very long */
    max-height: 600px;
    overflow-y: auto;
}

/* Base Table Styles within Prose */
.prose table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95em;
    min-width: 600px;
    /* Forces scroll on small screens */
}

.prose table th,
.prose table td {
    padding: 0.75rem 1rem;
    border: 1px solid #e5e7eb;
    white-space: nowrap;
    /* Prevents wrapping, forcing horizontal scroll */
}

.prose table th {
    background-color: #f9fafb;
    font-weight: 700;
    text-align: left;
    color: #1f2937;
    position: sticky;
    /* Sticky header for vertical scroll */
    ``` float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* ==========================================================================
 *  4. WordPress Captions & Galleries
 * ========================================================================== */

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    /* Image width plus 10px padding */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* ==========================================================================
 *  5. Comments
 * ========================================================================== */

.comment-content a {
    word-wrap: break-word;
}

.bypostauthor {
    display: block;
}

/* ==========================================================================
 *  6. Widgets
 * ========================================================================== */

.widget {
    margin: 0 0 1.5em;
}

.widget select {
    max-width: 100%;
}

/* ==========================================================================
 *  7. Pagination
 * ========================================================================== */

.page-links {
    clear: both;
    margin: 0 0 1.5em;
}

/* ==========================================================================
 *  8. Sticky Post
 * ========================================================================== */

.sticky {
    display: block;
}

.hentry {
    margin: 0 0 1.5em;
}

/* ==========================================================================
 *  9. Media
 * ========================================================================== */

.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}

/* Make sure embeds and iframes are responsive */
embed,
iframe,
object {
    max-width: 100%;
}

.wp-block-button__link {
    color: #fff;
}

/* ==========================================================================
 *  10. Tables
 * ========================================================================== */

/* Responsive Table Wrapper */
.wp-block-table,
.table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 1.5em;
    /* Optional: Add max-height for vertical scroll if content is very long */
    max-height: 600px;
    overflow-y: auto;
}

/* Base Table Styles within Prose */
.prose table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95em;
    min-width: 600px;
    /* Forces scroll on small screens */
}

.prose table th,
.prose table td {
    padding: 0.75rem 1rem;
    border: 1px solid #e5e7eb;
    white-space: nowrap;
    /* Prevents wrapping, forcing horizontal scroll */
}

.prose table th {
    background-color: #f9fafb;
    font-weight: 700;
    text-align: left;
    color: #1f2937;
    position: sticky;
    /* Sticky header for vertical scroll */
    top: 0;
    z-index: 10;
}

.prose table tr:nth-child(even) {
    background-color: #f9fafb;
}

margin-right: auto;
}

/* ==========================================================================
 *  4. WordPress Captions & Galleries
 * ========================================================================== */

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    /* Image width plus 10px padding */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* ==========================================================================
 *  5. Comments
 * ========================================================================== */

.comment-content a {
    word-wrap: break-word;
}

.bypostauthor {
    display: block;
}

/* ==========================================================================
 *  6. Widgets
 * ========================================================================== */

.widget {
    margin: 0 0 1.5em;
}

.widget select {
    max-width: 100%;
}

/* ==========================================================================
 *  7. Pagination
 * ========================================================================== */

.page-links {
    clear: both;
    margin: 0 0 1.5em;
}

/* ==========================================================================
 *  8. Sticky Post
 * ========================================================================== */

.sticky {
    display: block;
}

.hentry {
    margin: 0 0 1.5em;
}

/* ==========================================================================
 *  9. Media
 * ========================================================================== */

.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}

/* Make sure embeds and iframes are responsive */
embed,
iframe,
object {
    max-width: 100%;
}

.wp-block-button__link {
    color: #fff;
}

/* ==========================================================================
 *  10. Tables
 * ========================================================================== */

/* Responsive Table Wrapper */
.wp-block-table,
.table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 1.5em;
    /* Optional: Add max-height for vertical scroll if content is very long */
    max-height: 600px;
    overflow-y: auto;
}

/* Base Table Styles within Prose */
.prose table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95em;
    min-width: 600px;
    /* Forces scroll on small screens */
}

.prose table th,
.prose table td {
    padding: 0.75rem 1rem;
    border: 1px solid #e5e7eb;
    white-space: nowrap;
    /* Prevents wrapping, forcing horizontal scroll */
}

.prose table th {
    background-color: #f9fafb;
    font-weight: 700;
    text-align: left;
    color: #1f2937;
    position: sticky;
    /* Sticky header for vertical scroll */
    top: 0;
    z-index: 10;
}

.prose table tr:nth-child(even) {
    background-color: #f9fafb;
}

.prose table tr:hover {
    background-color: #f3f4f6;
}

/* ==========================================================================
 *  11. Flatpickr Overrides
 * ========================================================================== */

.flatpickr-calendar {
    font-family: var(--font-body) !important;
    border: 1px solid #e5e7eb !important;
    /* Tailwind gray-200 */
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
    /* Tailwind shadow-xl */
    border-radius: 0.75rem !important;
    /* Tailwind rounded-xl */
    padding: 0.5rem !important;
    background: #ffffff !important;
}

.flatpickr-months {
    background: transparent !important;
    color: #1f2937 !important;
    /* Tailwind gray-800 */
    margin-bottom: 0.5rem !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
    color: #1f2937 !important;
    /* Tailwind gray-800 */
    font-weight: 700 !important;
    font-size: 1.125rem !important;
    /* Tailwind text-lg */
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover,
.flatpickr-current-month input.cur-year:hover {
    background: #f3f4f6 !important;
    /* Tailwind gray-100 */
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    color: #6b7280 !important;
    /* Tailwind gray-500 */
    fill: #6b7280 !important;
    top: 10px !important;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
    fill: #2F4A61 !important;
    /* Brand Navy */
}

.flatpickr-weekdays {
    background: transparent !important;
    border-bottom: 1px solid #e5e7eb !important;
    margin-bottom: 0.5rem !important;
}

span.flatpickr-weekday {
    color: #9ca3af !important;
    /* Tailwind gray-400 */
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    /* Tailwind text-sm */
}

.flatpickr-day {
    border-radius: 0.5rem !important;
    /* Tailwind rounded-lg */
    color: #374151 !important;
    /* Tailwind gray-700 */
    font-weight: 500 !important;
    border: 1px solid transparent !important;
}

.flatpickr-day:hover {
    background: #f3f4f6 !important;
    /* Tailwind gray-100 */
    border-color: #e5e7eb !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
    background: #2F4A61 !important;
    /* Brand Navy */
    border-color: #2F4A61 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 6px -1px rgba(47, 74, 97, 0.4) !important;
}

.flatpickr-day.today {
    border-color: #BCB9AC !important;
    /* Brand Beige */
    background: transparent !important;
    color: #2F4A61 !important;
    font-weight: 700 !important;
}

.flatpickr-day.today:hover {
    background: #BCB9AC !important;
    color: #2F4A61 !important;
}

.flatpickr-time {
    border-top: 1px solid #e5e7eb !important;
    padding-top: 0.5rem !important;
}

.flatpickr-time input {
    color: #1f2937 !important;
    font-weight: 600 !important;
}

.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
    background: #f3f4f6 !important;
}

/* Intl Tel Input Overrides */
.iti {
    width: 100%;
}

.iti__flag-container {
    z-index: 10;
}
/* ==========================================================================
 *  12. Form Elements
 * ========================================================================== */

/* Hide number input spinners */
.input-number-no-spin::-webkit-outer-spin-button,
.input-number-no-spin::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.input-number-no-spin {
    -moz-appearance: textfield;
}

