/*
Theme Name: Rising Tides OceanWP Child
Theme URI: https://risingtidesmysteries.com
Description: Atmospheric OceanWP child theme for Rising Tides Mysteries. Designed for OceanWP Pro and Elementor Free.
Author: Tegan L. Lleuad
Template: oceanwp
Version: 1.0.3
Text Domain: rising-tides-oceanwp
*/

:root {
  --rt-ivory: #F4F0E8;
  --rt-brass: #B88A4A;
  --rt-mangrove: #597567;
  --rt-teal: #2F6B6E;
  --rt-navy: #163042;
  --rt-ink: #2B2B2B;
  --rt-night: #10222E;
  --rt-serif: "Cormorant Garamond", Georgia, serif;
  --rt-sans: "Montserrat", Arial, sans-serif;
}

body { background: var(--rt-ivory); color: var(--rt-ink); }
body, button, input, select, textarea { font-family: var(--rt-sans); }
h1, h2, h3, h4, h5, h6 { font-family: var(--rt-serif); color: var(--rt-navy); }
a { transition: color .2s ease, background-color .2s ease, transform .2s ease; }

/* OceanWP shell */
#site-header { background: rgba(16, 34, 46, .98); border-bottom: 1px solid rgba(184, 138, 74, .45); }
#site-header .dropdown-menu > li > a,
#site-header .oceanwp-mobile-menu-icon a { color: var(--rt-ivory); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
#site-header .dropdown-menu > li > a:hover { color: #d7b575; }
#footer-bottom { background: #091820; color: #9fb2ad; border-top: 1px solid rgba(184, 138, 74, .35); }
.rt-ocean-header { align-items: center; background: rgba(16,34,46,.98); border-bottom: 1px solid rgba(184,138,74,.45); color: var(--rt-ivory); display: flex; gap: 18px; justify-content: space-between; min-height: 86px; padding: 10px max(24px,4vw); }
.rt-ocean-header.e-con { max-width: none; width: 100%; --container-max-width: 100%; }
.rt-ocean-header > .e-con-inner { max-width: none; width: 100%; }
.rt-header-logo { flex: 0 0 60px !important; max-width: 60px !important; width: 60px !important; }
.rt-header-logo img { height: 58px !important; object-fit: contain; width: 58px !important; }
.rt-header-title { flex: 1 1 auto; }
.rt-header-title .elementor-heading-title { color: var(--rt-ivory); font-family: var(--rt-serif); font-size: 23px; line-height: 1; }
.rt-header-title small { color: #a8c6bd; display: block; font-family: var(--rt-sans); font-size: 9px; letter-spacing: .28em; margin-top: 7px; text-transform: uppercase; }
.rt-header-nav { display: flex; gap: 26px; }
.rt-header-nav a { color: var(--rt-ivory); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.rt-header-nav a:hover { color: #d7b575; }
.rt-dynamic-logo { flex: 0 0 60px !important; max-width: 60px !important; width: 60px !important; }
.rt-dynamic-logo .custom-logo-link { display: block; }
.rt-dynamic-logo img { height: 58px !important; object-fit: contain; width: 58px !important; }
.rt-dynamic-nav { flex: 0 1 auto; margin-left: auto; width: auto !important; }
.rt-dynamic-nav #site-navigation-wrap { display: block; float: none; position: static; right: auto; top: auto; }
.rt-dynamic-nav #site-navigation { display: block; }
.rt-dynamic-nav .dropdown-menu { display: flex; align-items: center; gap: 26px; }
.rt-dynamic-nav .dropdown-menu > li { float: none; }
.rt-dynamic-nav .dropdown-menu > li > a { color: var(--rt-ivory); font-family: var(--rt-sans); font-size: 10px; letter-spacing: .12em; line-height: 1.3; padding: 12px 0; text-transform: uppercase; }
.rt-dynamic-nav .dropdown-menu > li > a:hover,
.rt-dynamic-nav .dropdown-menu > li.current-menu-item > a { color: #d7b575; }
.rt-dynamic-nav .dropdown-menu .sub-menu { background: var(--rt-night); border-top: 1px solid var(--rt-brass); min-width: 210px; }
.rt-dynamic-nav .dropdown-menu .sub-menu a { color: var(--rt-ivory); font-size: 10px; letter-spacing: .08em; }

/* Elementor page foundation */
.rt-home { overflow: hidden; background: var(--rt-ivory); }
.rt-home.e-con, .rt-home .e-con { max-width: none; --container-max-width: 100%; }
.rt-home > .e-con-inner, .rt-home .e-con > .e-con-inner { max-width: none; width: 100%; }
.rt-home.elementor-element, .rt-hero.elementor-element, .rt-intro.elementor-element, .rt-book.elementor-element, .rt-people.elementor-element, .rt-park.elementor-element, .rt-join.elementor-element { width: 100%; }
.rt-home .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.rt-kicker .elementor-heading-title,
.rt-kicker { color: #a87939 !important; font-family: var(--rt-sans) !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: .25em !important; text-transform: uppercase; }
.rt-heading .elementor-heading-title { color: var(--rt-navy); font-family: var(--rt-serif); font-size: clamp(42px, 5vw, 64px); font-weight: 500; line-height: .98; }
.rt-body { color: #53605e; font-size: 15px; line-height: 1.8; }

/* Hero */
.rt-hero { min-height: 730px; padding: 150px max(24px, 8vw) 90px; align-items: center; position: relative; background-image: linear-gradient(90deg, rgba(8,23,32,.97), rgba(16,34,46,.82) 48%, rgba(16,34,46,.22)), linear-gradient(0deg, rgba(16,34,46,.85), transparent 40%), url("assets/images/gazebo.webp"); background-size: cover; background-position: center 38%; }
.rt-hero-copy { max-width: 760px; }
.rt-hero-title .elementor-heading-title { color: var(--rt-ivory); font-family: var(--rt-serif); font-size: clamp(54px, 7vw, 94px); font-weight: 500; letter-spacing: -.025em; line-height: .9; }
.rt-hero-lead { color: #e6e5dd; font-family: var(--rt-serif); font-size: 23px; line-height: 1.48; max-width: 680px; }
.rt-button .elementor-button { background: var(--rt-brass); border: 1px solid var(--rt-brass); border-radius: 0; color: #fff; font-size: 11px; font-weight: 600; letter-spacing: .14em; padding: 15px 24px; text-transform: uppercase; }
.rt-button .elementor-button:hover { background: #d0a664; transform: translateY(-2px); }

/* Intro and book */
.rt-intro { padding: 100px max(24px, 10vw); text-align: center; }
.rt-intro .rt-body { max-width: 820px; margin-inline: auto; font-family: var(--rt-serif); font-size: 22px; }
.rt-tideline { color: var(--rt-brass); font-size: 22px; letter-spacing: .35em; margin: 12px 0; }
.rt-book { background: var(--rt-navy); color: #dbe2df; padding: 100px max(24px, 7vw); gap: 8%; align-items: center; }
.rt-book-cover { flex: 0 1 360px; }
.rt-book-cover img { border: 1px solid rgba(184,138,74,.6); box-shadow: 18px 24px 45px rgba(0,0,0,.45); }
.rt-book-copy { flex: 1 1 600px; }
.rt-book .rt-heading .elementor-heading-title { color: var(--rt-ivory); font-size: clamp(52px, 6vw, 74px); }
.rt-book .rt-body { color: #dbe2df; }
.rt-book-lead { color: #a9c9c0; font-family: var(--rt-serif); font-size: 24px; font-style: italic; }

/* People */
.rt-people { padding: 105px max(24px, 6vw); }
.rt-section-note { border-bottom: 1px solid #c9c1b1; color: #66716e; font-size: 12px; letter-spacing: .04em; margin: 18px 0 24px; padding-bottom: 16px; }
.rt-protagonists, .rt-residents { display: grid !important; gap: 20px; width: 100%; }
.rt-protagonists { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 64px; }
.rt-residents { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rt-character-card { background: #f8f5ee; border: 1px solid #d8d0c1; box-shadow: 0 10px 25px rgba(22,48,66,.06); padding: 26px; height: 100%; }
.rt-protagonists .rt-character-card { border-top: 3px solid var(--rt-brass); background: #f5f1e7; }
.rt-character-monogram { align-items: center; background: linear-gradient(145deg, var(--rt-mangrove), var(--rt-navy)); color: #d9c29b; display: flex; font-family: var(--rt-serif); font-size: 42px; height: 145px; justify-content: center; margin-bottom: 22px; position: relative; }
.rt-character-monogram:before, .rt-character-monogram:after { border: 1px solid rgba(244,240,232,.16); border-radius: 50%; content: ""; height: 105px; position: absolute; width: 105px; }
.rt-character-monogram:after { height: 78px; width: 78px; }
.rt-character-name .elementor-heading-title { color: var(--rt-navy); font-family: var(--rt-serif); font-size: 28px; font-weight: 600; }
.rt-character-text { color: #53605e; font-size: 13px; line-height: 1.75; }

/* Park */
.rt-park { background: #e6e4da; padding: 105px max(24px, 6vw); }
.rt-place-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; width: 100%; }
.rt-place-card { background: var(--rt-ivory); border: 1px solid #cbc6b8; height: 100%; overflow: hidden; }
.rt-place-image { min-height: 260px; background-size: cover; background-position: center; }
.rt-place-dock { background-image: linear-gradient(180deg, transparent 35%, rgba(16,34,46,.9)), url("assets/images/dock.jpg"); }
.rt-place-mangrove { background-image: linear-gradient(180deg, transparent 35%, rgba(16,34,46,.9)), url("assets/images/mangrove.jpg"); }
.rt-place-spring { background-image: linear-gradient(180deg, transparent 35%, rgba(16,34,46,.9)), url("assets/images/spring.jpg"); }
.rt-place-content { padding: 24px; }
.rt-place-content h3 { color: var(--rt-navy); font-size: 30px; margin: 0 0 8px; }
.rt-place-content p { color: #53605e; font-size: 13px; line-height: 1.7; }

/* Newsletter and preserved character footer */
.rt-join { background: linear-gradient(rgba(16,34,46,.91), rgba(16,34,46,.94)), url("assets/images/dock.jpg") center/cover; color: var(--rt-ivory); padding: 90px 24px; text-align: center; }
.rt-join .rt-heading .elementor-heading-title { color: var(--rt-ivory); }
.rt-join .rt-body { color: #cfdbd7; font-family: var(--rt-serif); font-size: 21px; }
.rt-character-footer { min-height: 430px; align-items: center; background-color: var(--rt-night); background-image: linear-gradient(90deg, rgba(16,34,46,.83), rgba(16,34,46,.08) 42%, rgba(16,34,46,.08) 64%, rgba(16,34,46,.87)), url("assets/images/footer-character.webp"); background-position: center; background-repeat: no-repeat; background-size: cover; border-top: 1px solid rgba(184,138,74,.6); padding: 70px max(24px, 6vw); }
.rt-character-footer-copy { max-width: 420px; }
.rt-character-footer .elementor-heading-title { color: var(--rt-ivory); font-family: var(--rt-serif); }
.rt-character-footer .elementor-widget-text-editor { color: #b9cbc6; }
.rt-character-footer-note { color: #d7b575; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; }

@media (max-width: 900px) {
  .rt-protagonists, .rt-residents, .rt-place-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rt-book { flex-wrap: wrap; }
  .rt-character-footer { background-position: 58% center; }
  .rt-ocean-header { flex-wrap: wrap; }
  .rt-dynamic-nav { flex-basis: 100%; order: 4; }
  .rt-dynamic-nav .dropdown-menu { justify-content: center; padding: 4px 0 10px; }
}
@media (max-width: 650px) {
  .rt-header-nav { display: none; }
  .rt-header-title { display: none; }
  .rt-ocean-header { gap: 12px; }
  .rt-dynamic-nav { flex-basis: auto; margin-left: auto; order: initial; }
  .rt-dynamic-nav #site-navigation-wrap { display: block !important; }
  .rt-dynamic-nav .dropdown-menu { flex-wrap: wrap; gap: 8px 14px; justify-content: flex-end; padding: 0; }
  .rt-dynamic-nav .dropdown-menu > li > a { font-size: 9px; padding: 7px 0; }
  .rt-hero { min-height: 720px; padding: 120px 22px 70px; background-position: 62% center; }
  .rt-hero-title .elementor-heading-title { font-size: 52px; }
  .rt-protagonists, .rt-residents, .rt-place-grid { grid-template-columns: 1fr; }
  .rt-intro, .rt-book, .rt-people, .rt-park { padding: 78px 20px; }
  .rt-character-footer { min-height: 520px; align-items: flex-end; background-image: linear-gradient(0deg, rgba(16,34,46,.96), rgba(16,34,46,.08) 72%), url("assets/images/footer-character.webp"); background-position: center top; padding-bottom: 48px; }
}
