﻿:root {
  --brand_color: #e91e4d;
  --brand_color_200: #ffcf33;
  --pinay-blue: #0645b5;
  --pinay-red: #e91e4d;
  --pinay-gold: #ffcf33;
}
.header_logo img, .signup-modal .logo img { width: min(360px, 44vw) !important; max-height: 66px; object-fit: contain; }
.footer-widget-two .theme-logo {
  display: block;
  width: min(175px, 100%) !important;
  max-width: 100%;
  height: auto;
  max-height: 66px;
  object-fit: contain;
  object-position: left center;
}
.home-romance-overlay {
  position: relative;
  height: 0;
  overflow: visible;
  z-index: 4;
}
.home-romance-cycle {
  position: absolute;
  left: 18px;
  bottom: -10px;
  width: 230px;
  z-index: 5;
  pointer-events: none;
  animation: footerMoveOne 18s linear infinite;
}
.home-cherry-tree { position: absolute; right: -24px; bottom: -2px; height: 445px; width: auto; z-index: 3; pointer-events: none; }
.footer-widget-three .bg-shape .tree { right: -24px !important; bottom: -2px !important; height: 445px !important; width: auto !important; z-index: 3; }
.footer-widget-three .bg-shape .cycle { bottom: -10px !important; width: 230px !important; z-index: 5; }
.footer-widget-three .bg-shape .cycle > img { width: 100%; height: auto; }
.home-romance-cycle > img { display: block; width: 100%; height: auto; }
.home-romance-cycle .hearts { position: absolute; right: 22px; bottom: 96px; transform: translateX(-50%); }
.home-romance-cycle .heart { position: absolute; list-style: none; width: 20px; height: 25px; margin: 4px; background: url('../img/heart.png') center / cover no-repeat; }
.home-romance-cycle .heart.anm2 { animation: 3s flyingheart2 linear infinite; }
.home-romance-cycle .hearts.flying > .heart:nth-child(even) { animation: 2.8s flyingEven linear infinite; }
.home-romance-cycle .hearts.flying > .heart:nth-child(odd) { animation: 2.8s flyingOdd linear infinite; }
.home-romance-cycle .hearts.flying > .heart:nth-child(1) { animation-delay: .2s; }
.home-romance-cycle .hearts.flying > .heart:nth-child(2) { animation-delay: .3s; }
.home-romance-cycle .hearts.flying > .heart:nth-child(3) { width: 15px; height: 18px; background-image: url('../img/heart-2.png'); animation-delay: .6s; }
.home-romance-cycle .hearts.flying > .heart:nth-child(4) { animation-delay: 1.5s; }
.home-romance-cycle .hearts.flying > .heart:nth-child(5) { animation-delay: 2.2s; }
.home-romance-cycle .hearts.flying > .heart:nth-child(6) { animation-delay: 2.9s; }
.home-romance-cycle .hearts.flying > .heart:nth-child(7) { animation-delay: 3.2s; }
.home-romance-cycle .hearts.flying > .heart:nth-child(8) { animation-delay: 3.5s; }
.home-romance-cycle .hearts.flying > .heart:nth-child(9) { animation-delay: 3.8s; }
.home-romance-cycle .hearts.flying > .heart:nth-child(10) { animation-delay: 4.1s; }
.home-romance-cycle .hearts.flying > .heart:nth-child(11) { animation-delay: 1.5s; }
.home-romance-cycle .hearts.flying > .heart:nth-child(12) { animation-delay: 2.2s; }
.home-romance-cycle .hearts.flying > .heart:nth-child(13) { animation-delay: 3s; }
.home-romance-cycle .hearts.flying > .heart:nth-child(14) { animation-delay: 4s; }
.navbar, .menu_one { border-bottom: 3px solid var(--pinay-gold); }
.hero-area-two { background: linear-gradient(135deg, #fff8ed 0%, #fff 48%, #edf4ff 100%); }
.hero-area-two .hero-img img { border-radius: 32px; box-shadow: 0 24px 70px rgba(6,69,181,.22); }
.hero-area-two h1, h1, h2 { color: #10265c; }
.hero-chat-bubble {
  position: absolute;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 11px;
  max-width: 300px;
  padding: 10px 15px 10px 10px;
  background: rgba(255,255,255,.97);
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(16,38,92,.2);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.hero-chat-bubble::after {
  content: "";
  position: absolute;
  bottom: -10px;
  width: 0;
  height: 0;
  border-top: 13px solid rgba(255,255,255,.97);
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
}
.hero-chat-one::after { right: 24px; transform: rotate(-8deg); }
.hero-chat-two::after { left: 24px; transform: rotate(8deg); }
.hero-chat-bubble .chat-avatar {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  object-fit: cover;
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 0 3px 10px rgba(16,38,92,.22);
}
.hero-chat-bubble .chat-message { min-width: 0; }
.hero-chat-bubble .chat-message strong { display: block; margin-bottom: 2px; color: #e91e4d; font-size: 12px; line-height: 1.1; }
.hero-chat-bubble p { margin: 0 !important; color: #10265c !important; font-size: 13px !important; line-height: 1.3 !important; font-weight: 600; }
.hero-chat-one { top: 9%; right: 5%; }
.hero-chat-two { left: 5%; bottom: 12%; max-width: 320px; }
.cta-area-two .floating-widget {
  background: transparent url('../img/pinaypromise-romantic-cta.png') center / calc(100% + 44px) auto no-repeat !important;
  border-radius: 18px;
  border: 0 !important;
  box-shadow: none !important;
  aspect-ratio: 1.955 / 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.cta-area-two .floating-widget .shape { display: none; }
.cta-area-two .floating-widget > h1,
.cta-area-two .floating-widget > p,
.cta-area-two .floating-widget > .d-flex { position: relative; z-index: 2; }
.theme-btn, .btn-primary { background: linear-gradient(135deg, var(--pinay-blue), var(--pinay-red)) !important; border-color: transparent !important; }
.theme-btn:hover, .btn-primary:hover { filter: brightness(.92); }
.footer-area { background: #071a45 !important; }

@media (max-width: 767px) {
  .header_logo img { width: 230px !important; max-height: 48px; }
  .hero-area-two .hero-img img { border-radius: 20px; }
  .hero-chat-bubble { gap: 7px; max-width: 210px; padding: 7px 9px 7px 7px; border-radius: 15px; }
  .hero-chat-bubble .chat-avatar { flex-basis: 38px; width: 38px; height: 38px; border-width: 2px; }
  .hero-chat-bubble .chat-message strong { font-size: 10px; }
  .hero-chat-bubble p { font-size: 10px !important; line-height: 1.25 !important; }
  .hero-chat-one { top: 5%; right: 3%; }
  .hero-chat-two { left: 3%; bottom: 7%; max-width: 190px; }
  .cta-area-two .floating-widget { aspect-ratio: auto; min-height: 540px; background-size: auto calc(100% + 18px) !important; }
  .home-romance-cycle { width: 175px; }
  .home-romance-cycle .hearts { right: 14px; bottom: 73px; }
  .home-cherry-tree { height: 330px; right: -92px; }
}

/* Focused PinayPromise public experience */
.pp-public-nav .menu { gap: 4px; }
.pp-public-nav .menu > .nav-item > .nav-link { color:#26334d; font-weight:600; padding:10px 12px; }
.pp-public-nav .menu > .nav-item > .nav-link:hover { color:#e91e4d; }
.pp-nav-cta,.pp-primary { display:inline-flex; align-items:center; justify-content:center; color:#fff !important; background:linear-gradient(135deg,#0645b5 0%,#e91e4d 100%) !important; border:0 !important; border-radius:9px; font-weight:700; padding:12px 24px; box-shadow:0 10px 24px rgba(6,69,181,.2); text-decoration:none; }
.pp-nav-cta:hover,.pp-primary:hover { color:#fff !important; transform:translateY(-1px); filter:brightness(.96); }
.pp-secondary { display:inline-flex; align-items:center; justify-content:center; color:#0645b5 !important; background:#fff !important; border:2px solid #0645b5 !important; border-radius:9px; font-weight:700; padding:10px 24px; text-decoration:none; }
.pp-secondary:hover { color:#fff !important; background:#0645b5 !important; }
.pp-page { padding:72px 0 90px; background:linear-gradient(135deg,#fff9f2,#fff 50%,#eef5ff); min-height:70vh; }
.pp-page h1,.pp-page h2,.pp-page h3 { color:#10265c; }
.pp-lead { max-width:780px; color:#58647c; font-size:19px; line-height:1.75; }
.pp-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:38px; }
.pp-card { background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 18px 50px rgba(16,38,92,.11); height:100%; }
.pp-card img { width:100%; aspect-ratio:3/2; object-fit:cover; }
.pp-card-body { padding:26px; }
.pp-card h2 { font-size:25px; line-height:1.25; margin-bottom:12px; }
.pp-card p { color:#657087; }
.pp-read { color:#e91e4d; font-weight:700; text-decoration:none; }
.pp-article { max-width:900px; margin:auto; background:#fff; border-radius:22px; padding:34px; box-shadow:0 18px 55px rgba(16,38,92,.1); }
.pp-article>img { width:100%; border-radius:16px; margin:22px 0 30px; }
.pp-article p,.pp-article li { color:#4e596f; font-size:17px; line-height:1.8; }
.pp-source { border-left:4px solid #ffcf33; background:#fff9e5; padding:16px 20px; margin:28px 0; }
.pp-simple-footer { background:linear-gradient(120deg,#071a45,#1d082d); color:#fff; padding:42px 0; }
.pp-simple-footer a { color:#fff; margin-right:20px; }
@media(max-width:991px){.pp-grid{grid-template-columns:1fr}.pp-public-nav .right-nav{padding:12px 0 20px}.pp-page{padding-top:48px}}

/* Transparent PinayPromise logo treatment: never place the brand mark in a card. */
.header_logo, .navbar-brand, .theme-logo, .footer-widget-three .container > a:first-child,
.header_logo img, .navbar-brand img, .theme-logo img, .footer-widget-three .container > a:first-child img {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.footer-widget-three .container > a:first-child { display:inline-block; }
.footer-widget-three .container > a:first-child img { width:auto; max-width:260px; height:auto; object-fit:contain; }

/* Transparent PinayPromise logo treatment: never place the brand mark in a card. */
.header_logo, .navbar-brand, .theme-logo, .footer-widget-three .container > a:first-child,
.header_logo img, .navbar-brand img, .theme-logo img, .footer-widget-three .container > a:first-child img {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.footer-widget-three .container > a:first-child { display:inline-block; }
.footer-widget-three .container > a:first-child img { width:auto; max-width:260px; height:auto; object-fit:contain; }
/* Journey cards use one photographic crop so the three steps align cleanly. */
.feature-area-six .feature-box > img {
  display: block;
  width: 100%;
  aspect-ratio: 368 / 242;
  height: auto;
  object-fit: cover;
  object-position: center 46%;
}

/* Stable, focused mobile homepage. */
@media (max-width: 767px) {
  html, body, .body_wrapper { max-width: 100%; overflow-x: clip; }
  .pp-public-nav { box-sizing: border-box; left: 0 !important; right: 0 !important; width: 100% !important; transform: none !important; }
  .pp-public-nav > .container { flex-wrap: wrap; max-width: 100%; padding-left: 16px; padding-right: 16px; }
  .pp-public-nav .navbar-brand { flex: 0 1 calc(100% - 60px); margin-right: 8px; min-width: 0; }
  .pp-public-nav .navbar-brand img { height: auto !important; max-width: 100% !important; width: min(230px, 100%) !important; }
  .pp-public-nav .navbar-toggler { flex: 0 0 44px; margin: 0 0 0 auto !important; position: relative; right: auto !important; transform: none !important; }
  .pp-public-nav .navbar-collapse { flex-basis: 100%; max-height: calc(100dvh - 64px); overflow-y: auto; width: 100%; }
  .hero-area-two .bg-img, .hero-chat-bubble, .testimonial-area-two, .contact-area-one, .home-romance-overlay { display: none !important; }
  .hero-area-two, .feature-area-four, .feature-area-five, .feature-area-six, .match-member-area, .cta-area-two, .faq-area-two, .footer-widget-two { contain: layout paint; }
  .wow { animation: none !important; opacity: 1 !important; transform: none !important; transition: none !important; visibility: visible !important; }
}

/* PP BLOG ENHANCEMENT V2 */
.pp-blog-hero { width: 100%; max-height: 620px; object-fit: cover; object-position: center; }
.post-details-widget p, .post-details-widget li { font-size: 17px; line-height: 1.8; color: #526078; }
.post-details-widget h2 { margin-top: 34px; margin-bottom: 14px; color: #12213f; }
.post-details-widget ul { padding-left: 1.25rem; margin-bottom: 24px; }
.post-details-widget a { color: #e91e55; text-decoration: underline; text-underline-offset: 3px; }
.tag-widget a { text-decoration: none; }
.pp-blog-card-image { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: center; }
.pp-blog-excerpt { margin: 12px 0 16px; color: #667085; line-height: 1.65; }
.blog-widget { height: 100%; overflow: hidden; }
@media (max-width: 767px) { .pp-blog-hero { max-height: 360px; } .post-details-widget p, .post-details-widget li { font-size: 16px; } }
