/* ==========================================================================
   Astra OASIS Modern — site-wide modern layer (all pages)
   ========================================================================== */

:root {
	--oasis-navy: #0e1a2b;
	--oasis-gold: #b08a4e;
	--oasis-gold-2: #94713a;
	--oasis-sand: #f6f2ea;
	--oasis-line: rgba(14, 26, 43, .1);
	--oasis-serif: "Fraunces", Georgia, serif;
	--oasis-sans: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--oasis-shadow: 0 1px 2px rgba(14, 26, 43, .04), 0 12px 32px -12px rgba(14, 26, 43, .18);
}

/* ---------- Typography ---------- */
body.oasis-modern,
body.oasis-modern button,
body.oasis-modern input,
body.oasis-modern select,
body.oasis-modern textarea {
	font-family: var(--oasis-sans);
	-webkit-font-smoothing: antialiased;
}
body.oasis-modern { line-height: 1.7; }

body.oasis-modern h1, body.oasis-modern .entry-content h1,
body.oasis-modern h2, body.oasis-modern .entry-content h2,
body.oasis-modern .entry-title,
body.oasis-modern .ast-archive-title,
body.oasis-modern .page-title {
	font-family: var(--oasis-serif);
	font-weight: 500;
	letter-spacing: -.015em;
	line-height: 1.15;
}
body.oasis-modern h3, body.oasis-modern h4, body.oasis-modern h5, body.oasis-modern h6 {
	font-family: var(--oasis-sans);
	font-weight: 700;
	letter-spacing: -.005em;
}
body.oasis-modern ::selection { background: var(--oasis-gold); color: #fff; }

/* ---------- Header ---------- */
body.oasis-modern .ast-primary-header-bar,
body.oasis-modern .main-header-bar {
	background: rgba(255, 255, 255, .9);
	backdrop-filter: saturate(160%) blur(14px);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	border-bottom: 1px solid var(--oasis-line) !important;
}
body.oasis-modern .main-header-menu .menu-link {
	font-weight: 600;
	font-size: 15px;
	position: relative;
}
body.oasis-modern .main-header-menu > .menu-item > .menu-link::after {
	content: "";
	position: absolute; left: 1em; right: 1em; bottom: 18%;
	height: 1.5px; background: var(--oasis-gold);
	transform: scaleX(0); transform-origin: left;
	transition: transform .3s cubic-bezier(.2, .7, .2, 1);
}
body.oasis-modern .main-header-menu > .menu-item:hover > .menu-link::after,
body.oasis-modern .main-header-menu > .current-menu-item > .menu-link::after { transform: scaleX(1); }
body.oasis-modern .main-header-menu .sub-menu {
	border-radius: 14px; overflow: hidden; border: 1px solid var(--oasis-line);
	box-shadow: var(--oasis-shadow);
}

/* ---------- Buttons ---------- */
body.oasis-modern .ast-button,
body.oasis-modern .button,
body.oasis-modern button[type="submit"],
body.oasis-modern input[type="submit"],
body.oasis-modern input[type="button"],
body.oasis-modern .wp-block-button__link,
body.oasis-modern .ast-custom-button,
body.oasis-modern .menu-toggle,
body.oasis-modern .wpforms-submit,
body.oasis-modern .wpcf7-submit {
	border-radius: 999px !important;
	font-weight: 700;
	letter-spacing: .01em;
	transition: transform .25s cubic-bezier(.2, .7, .2, 1), background-color .25s, box-shadow .25s;
}
body.oasis-modern .ast-button:hover,
body.oasis-modern .button:hover,
body.oasis-modern button[type="submit"]:hover,
body.oasis-modern input[type="submit"]:hover,
body.oasis-modern .wp-block-button__link:hover,
body.oasis-modern .ast-custom-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px -10px rgba(176, 138, 78, .7);
}
body.oasis-modern .elementor-button { border-radius: 999px; font-weight: 700; transition: transform .25s, box-shadow .25s; }
body.oasis-modern .elementor-button:hover { transform: translateY(-2px); }

/* ---------- Forms ---------- */
body.oasis-modern input[type="text"],
body.oasis-modern input[type="email"],
body.oasis-modern input[type="tel"],
body.oasis-modern input[type="url"],
body.oasis-modern input[type="number"],
body.oasis-modern input[type="search"],
body.oasis-modern input[type="password"],
body.oasis-modern textarea,
body.oasis-modern select {
	border-radius: 12px;
	border: 1px solid var(--oasis-line);
	background: #fff;
	padding: .8em 1.1em;
	transition: border-color .2s, box-shadow .2s;
}
body.oasis-modern input:focus,
body.oasis-modern textarea:focus,
body.oasis-modern select:focus {
	border-color: var(--oasis-gold);
	box-shadow: 0 0 0 4px rgba(176, 138, 78, .15);
	outline: none;
}

/* ---------- Content & blog cards ---------- */
body.oasis-modern.ast-separate-container { background-color: var(--oasis-sand); }
body.oasis-modern.ast-separate-container .ast-article-post,
body.oasis-modern.ast-separate-container .ast-article-single,
body.oasis-modern.ast-separate-container .comments-area .comment-respond,
body.oasis-modern.ast-separate-container .ast-author-box,
body.oasis-modern.ast-separate-container .ast-archive-description {
	border-radius: 22px;
	box-shadow: var(--oasis-shadow);
	overflow: hidden;
}
body.oasis-modern .ast-article-post .post-thumb img,
body.oasis-modern .ast-article-post .ast-blog-featured-section img {
	border-radius: 16px;
	transition: transform .6s cubic-bezier(.2, .7, .2, 1);
}
body.oasis-modern .ast-article-post:hover .post-thumb img { transform: scale(1.03); }
body.oasis-modern .entry-content img { border-radius: 14px; }
body.oasis-modern .entry-content a:not(.wp-block-button__link):not(.elementor-button) {
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
body.oasis-modern blockquote {
	border-left: 3px solid var(--oasis-gold);
	background: var(--oasis-sand);
	border-radius: 0 14px 14px 0;
	font-family: var(--oasis-serif);
	font-size: 1.2em;
}

/* Sidebar widgets */
body.oasis-modern.ast-separate-container .widget,
body.oasis-modern .ast-separate-container .widget { border-radius: 18px; }
body.oasis-modern .widget-title { font-family: var(--oasis-sans); font-weight: 700; letter-spacing: .04em; }

/* Pagination */
body.oasis-modern .ast-pagination .page-numbers {
	border-radius: 999px; min-width: 2.6em; text-align: center;
}

/* ---------- Footer ---------- */
body.oasis-modern .site-footer .site-primary-footer-wrap,
body.oasis-modern .site-footer .site-above-footer-wrap {
	background-color: var(--oasis-navy);
	color: rgba(255, 255, 255, .7);
}
body.oasis-modern .site-footer .site-primary-footer-wrap a,
body.oasis-modern .site-footer .site-above-footer-wrap a { color: #fff; }
body.oasis-modern .site-footer .site-below-footer-wrap {
	background-color: #09121f;
	color: rgba(255, 255, 255, .55);
	border-top: 0;
}
body.oasis-modern .site-footer .site-below-footer-wrap a { color: #fff; }

/* Scroll-to-top */
body.oasis-modern #ast-scroll-top {
	border-radius: 50%;
	width: 46px; height: 46px; line-height: 46px;
	box-shadow: var(--oasis-shadow);
}

/* ---------- Floating WhatsApp ---------- */
.oasis-wa-float {
	position: fixed; right: 22px; bottom: 22px; z-index: 999;
	width: 58px; height: 58px; border-radius: 50%;
	display: grid; place-items: center;
	background: #25d366; color: #fff !important;
	box-shadow: 0 12px 28px -8px rgba(37, 211, 102, .65);
	transition: transform .3s cubic-bezier(.2, .7, .2, 1);
}
.oasis-wa-float::before {
	content: ""; position: absolute; inset: 0; border-radius: 50%;
	border: 2px solid #25d366; animation: oasis-ping 2.4s cubic-bezier(0, 0, .2, 1) infinite;
}
.oasis-wa-float:hover { transform: scale(1.08); }
.oasis-wa-float svg { width: 28px; height: 28px; }
@keyframes oasis-ping { 0% { transform: scale(1); opacity: .7; } 80%, 100% { transform: scale(1.6); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .oasis-wa-float::before { animation: none; } }
/* Keep Astra's scroll-top button clear of the WhatsApp button */
body.oasis-modern #ast-scroll-top { bottom: 92px !important; }
.nav-open .oasis-wa-float { display: none; }
