/*
Theme Name: Your Stay Pages
Description: GeneratePress child theme preserving the approved Friendly Blue concepts and Arial typography.
Version: 0.1.21
Template: generatepress
Text Domain: your-stay-pages
Requires at least: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
  --ysp-blue: #1764D5;
  --ysp-pale: #EAF2FF;
  --ysp-cloud: #F6F8FC;
  --ysp-ink: #162B49;
  --ysp-white: #FFFFFF;
  --ysp-line: #D6E1F0;
  --ysp-font: Arial, sans-serif;
}

body, button, input, select, textarea {
  font-family: var(--ysp-font);
}

body { color: var(--ysp-ink); background: var(--ysp-white); }
a { color: var(--ysp-blue); }

#ysp-modern-preview .logo { display: inline-flex; align-items: center; flex-shrink: 0; text-decoration: none; }
#ysp-modern-preview .logo .ysp-brand-image { width: 220px; max-width: 100%; height: auto; display: block; }
@media (max-width: 600px) {
  #ysp-modern-preview .logo .ysp-brand-image { width: 180px; }
}

.ysp-skip-link {
  position: absolute;
  inset-inline-start: 16px;
  top: -120px;
  padding: 12px 16px;
  background: var(--ysp-white);
  color: var(--ysp-ink);
  z-index: 100;
}
.ysp-skip-link:focus { top: 16px; }

/* The selectors below adapt real WordPress links to the approved button geometry. */
#ysp-modern-preview .navigation a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 10px;
  border-radius: 10px;
  color: var(--ysp-ink);
  text-decoration: none;
  font: 12px/1.65 Arial, sans-serif;
}
#ysp-modern-preview .navigation .current-menu-item > a {
  color: var(--ysp-blue);
  background: var(--ysp-pale);
}
#ysp-modern-preview .navigation ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 0;
  margin: 0;
}
#ysp-modern-preview .navigation a:focus-visible {
  outline: 3px solid var(--ysp-blue);
  outline-offset: 3px;
}
#ysp-modern-preview .site .ysp-content-action {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 11px 16px;
  border: 1px solid var(--ysp-line);
  border-radius: 10px;
  background: var(--ysp-white);
  color: var(--ysp-ink);
  text-decoration: none;
  font: 14px/1.65 Arial, sans-serif;
}
#ysp-modern-preview .site .ysp-content-action.primary {
  background: var(--ysp-blue);
  border-color: var(--ysp-blue);
  color: var(--ysp-white);
}

#ysp-modern-preview .navigation a.ysp-dashboard-link {
  border: 1px solid var(--ysp-line);
  background: var(--ysp-pale);
  color: var(--ysp-ink);
  padding-inline: 14px;
}
#ysp-modern-preview .navigation a.ysp-dashboard-link:hover {
  border-color: var(--ysp-blue);
  color: var(--ysp-blue);
}

#ysp-modern-preview .site.site {
  border-top: 0;
  border-left: 0;
  border-right: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  margin-top: 0;
}

#ysp-modern-preview .scene.ysp-sample-hero { display:block; padding:0; height:350px; text-decoration:none; border:0; background:transparent; border-radius:24px; }
#ysp-modern-preview .scene.ysp-sample-hero:before,
#ysp-modern-preview .scene.ysp-sample-hero:after { content:none; }
#ysp-modern-preview .ysp-sample-window { position:relative; height:350px; overflow:hidden; border:0; border-radius:24px; background:transparent; box-shadow:none; }
#ysp-modern-preview .ysp-sample-window iframe { position:absolute; top:-20px; left:0; width:1100px; height:850px; max-width:none; border:0; transform:scale(.49); transform-origin:top left; pointer-events:none; }
#ysp-modern-preview .ysp-sample-hero:focus-visible { outline:3px solid var(--ysp-blue); outline-offset:4px; }
@container(max-width:720px) {
 #ysp-modern-preview .scene.ysp-sample-hero { height:300px; padding:0; }
 #ysp-modern-preview .ysp-sample-window { height:300px; }
 #ysp-modern-preview .ysp-sample-window iframe { width:760px; height:900px; transform:scale(.42); }
}

#ysp-modern-preview .band.ysp-home-cta { display:grid; grid-template-columns:1.4fr 1fr; gap:40px; align-items:center; padding:40px 48px; overflow:hidden; }
#ysp-modern-preview .ysp-home-cta h2 { font-size:clamp(28px,3vw,38px); font-weight:700; line-height:1.15; max-width:19ch; margin:0 0 16px; }
#ysp-modern-preview .ysp-home-cta p { max-width:48ch; margin:0 0 24px; color:white; }
#ysp-modern-preview .site .ysp-cta-button { font-weight:700; gap:16px; padding:13px 20px; border-color:white; box-shadow:0 5px 14px rgba(22,43,73,.15); }
#ysp-modern-preview .ysp-cta-art { position:relative; height:240px; width:320px; max-width:100%; justify-self:center; }
#ysp-modern-preview .ysp-cta-property { position:absolute; left:0; top:0; width:230px; padding:12px; border-radius:18px; background:white; color:var(--ysp-ink); box-shadow:0 16px 30px rgba(22,43,73,.22); transform:rotate(-5deg); }
#ysp-modern-preview .ysp-cta-photo { height:90px; border-radius:10px; margin-bottom:12px; background:url("assets/images/palm-haven-villa.png") center 55% / cover; }
#ysp-modern-preview .ysp-cta-property strong { display:block; font-size:17px; }
#ysp-modern-preview .ysp-cta-property > span { font-size:11px; }
#ysp-modern-preview .ysp-cta-tags { display:flex; gap:6px; margin-top:12px; }
#ysp-modern-preview .ysp-cta-tags span { background:var(--ysp-pale); border-radius:7px; padding:6px 9px; font-size:10px; }
#ysp-modern-preview .ysp-cta-qr { position:absolute; right:0; bottom:0; width:130px; padding:10px; border-radius:14px; background:white; color:var(--ysp-ink); text-align:center; transform:rotate(7deg); box-shadow:0 12px 24px rgba(22,43,73,.25); }
#ysp-modern-preview .ysp-cta-qr svg { display:block; width:110px; height:110px; }
#ysp-modern-preview .ysp-cta-qr strong { display:block; font-size:11px; }
@container(max-width:720px) { #ysp-modern-preview .band.ysp-home-cta { grid-template-columns:1fr; gap:28px; padding:28px 24px; } #ysp-modern-preview .ysp-home-cta h2 { max-width:100%; } }

#ysp-modern-preview .ysp-cta-art { display:block; text-decoration:none; }
#ysp-modern-preview .ysp-cta-art:focus-visible { outline:3px solid white; outline-offset:8px; border-radius:18px; }
