/* WordPress-specific fixes and components. */
@font-face { font-family:"Peyda"; src:url("../fonts/Peyda-Thin.ttf") format("truetype"); font-display:swap; font-weight:100; }
@font-face { font-family:"Peyda"; src:url("../fonts/peyda-extralight.ttf") format("truetype"); font-display:swap; font-weight:200; }
@font-face { font-family:"Peyda"; src:url("../fonts/peyda-light.ttf") format("truetype"); font-display:swap; font-weight:300; }
@font-face { font-family:"Peyda"; src:url("../fonts/Peyda-Regular.ttf") format("truetype"); font-display:swap; font-weight:400; }
@font-face { font-family:"Peyda"; src:url("../fonts/Peyda-Medium.ttf") format("truetype"); font-display:swap; font-weight:500; }
@font-face { font-family:"Peyda"; src:url("../fonts/Peyda-SemiBold.ttf") format("truetype"); font-display:swap; font-weight:600; }
@font-face { font-family:"Peyda"; src:url("../fonts/Peyda-Bold.ttf") format("truetype"); font-display:swap; font-weight:700; }
@font-face { font-family:"Peyda"; src:url("../fonts/Peyda-ExtraBold.ttf") format("truetype"); font-display:swap; font-weight:800; }
@font-face { font-family:"Peyda"; src:url("../fonts/Peyda-Black.ttf") format("truetype"); font-display:swap; font-weight:900; }

body.royal-locale { font-family:"Peyda",Tahoma,sans-serif; direction:rtl; }
.rp-hero { background-image:url("../images/royal-park-padel-tennis-hero.webp"); }
.rp-about-teaser__image { background-image:url("../images/royal-park-covered-padel-courts.png"); }
.rp-facility--padel::before { background-image:url("../images/royal-park-padel.webp"); }
.rp-facility--tennis::before { background-image:url("../images/royal-park-tennis.webp"); }
.rp-facility--wellness::before { background-image:url("../images/royal-park-cafe-render.webp"); background-position:center 62%; filter:saturate(.8); }
.rpa-hero__image { background-image:url("../images/royal-park-padel-render.webp"); }

body.admin-bar .rp-site-header { top:32px; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { width:auto; height:auto; margin:.75rem; padding:.75rem 1rem; clip:auto; z-index:99999; background:#fff; color:var(--navy); }
.rp-skip-link { inset:0 auto auto 0; }
.rp-menu { margin:0; padding:0; list-style:none; display:flex; align-items:center; gap:clamp(1.35rem,2.5vw,2.75rem); }
.rp-menu li { margin:0; padding:0; }
.rp-menu .current-menu-item>a { color:var(--orange); }
.rp-menu-toggle { display:none; width:2.75rem; height:2.75rem; padding:.75rem; border:1px solid currentColor; border-radius:50%; background:transparent; color:inherit; cursor:pointer; }
.rp-menu-toggle>span { width:100%; height:1px; display:block; margin:.27rem 0; background:currentColor; }
.rpa-header .rp-brand { justify-self:right; }
.rpa-header .rp-header-actions { justify-self:end; }
.rp-home-experience { max-width:90rem; margin-inline:auto; padding-inline:clamp(1.5rem,5vw,5rem); }

.rp-contact-form-section { max-width:90rem; margin-inline:auto; padding:0 clamp(1.5rem,5vw,5rem) var(--space-8); display:grid; grid-template-columns:minmax(16rem,.7fr) minmax(0,1.3fr); gap:clamp(2rem,6vw,6rem); align-items:start; }
.rp-contact-form-section h2 { margin:0; font-size:clamp(2rem,4vw,4rem); line-height:1.3; }
.rp-contact-form-section>div>p:last-child { color:var(--muted); }
.rp-contact-form { padding:clamp(1.25rem,4vw,2.5rem); border:1px solid var(--line); background:#fff; box-shadow:var(--shadow); }
.rp-contact-form textarea { width:100%; padding:.9rem; border:1px solid var(--line); resize:vertical; background:var(--paper); }
.rp-contact-form .rp-button { margin-top:1.25rem; }
.rp-honeypot { position:absolute; inset-inline-start:-9999px; }
.rp-form-notice { margin:0 0 1rem; padding:.8rem 1rem; border:1px solid var(--line); font-size:.7rem; }
.rp-form-notice.success { border-color:rgba(45,157,104,.35); background:rgba(45,157,104,.08); color:var(--success); }
.rp-form-notice.error { border-color:rgba(184,71,46,.35); background:rgba(184,71,46,.08); color:var(--danger); }

.rp-account-intro { max-width:54rem; }
.rp-account-intro>p:last-child { color:var(--muted); }
.rp-auth-grid { margin-top:var(--space-6); display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.rp-auth-card { min-height:34rem; padding:clamp(1.5rem,4vw,3rem); border:1px solid var(--line); background:#fff; }
.rp-auth-card--dark { background:var(--navy); color:#fff; }
.rp-auth-card h2 { margin:0 0 2rem; font-size:2rem; }
.rp-auth-card form { display:grid; gap:1rem; }
.rp-auth-card label,.rp-auth-card .login-username,.rp-auth-card .login-password { margin:0; display:grid; gap:.45rem; font-size:.7rem; }
.rp-auth-card input:not([type="checkbox"]) { width:100%; min-height:3.5rem; padding-inline:1rem; border:1px solid var(--line); background:var(--paper); }
.rp-auth-card .login-submit input { min-height:3.25rem; padding-inline:1.5rem; border:0; border-radius:999px; background:var(--orange); color:#fff; cursor:pointer; }
.rp-auth-card>a { display:inline-block; margin-top:1rem; color:var(--orange); font-size:.68rem; }
.rp-auth-card--dark input { border-color:rgba(255,255,255,.2)!important; background:rgba(255,255,255,.08)!important; color:#fff; }

.rp-content-page { min-height:100vh; background:var(--cream); }
.rp-prose { max-width:70rem; min-height:55vh; margin-inline:auto; padding:clamp(4rem,8vw,8rem) clamp(1.5rem,5vw,5rem); }
.rp-prose>h1 { margin:0 0 2rem; font-size:clamp(2.6rem,6vw,5.5rem); }
.rp-prose :where(p,li) { color:var(--muted); font-size:.88rem; line-height:2.1; }
.rp-prose a { color:var(--orange); text-decoration:underline; }
.rp-post-card { padding-block:1.5rem; border-top:1px solid var(--line); }
.rp-post-card h2 { margin:0; }

.rp-booking-stage { display:grid; gap:var(--space-4); }
.rp-booking-checkout { display:grid; grid-template-columns:minmax(0,1fr) 22rem; gap:var(--space-4); align-items:start; }
.rp-booking-checkout .rb-checkout-form h2 { margin-bottom:1rem; }
.rp-booking-checkout .rb-checkout-form>p { color:var(--muted); font-size:.72rem; }
.rp-payment>button[disabled] { opacity:.5; cursor:not-allowed; }
.rp-booking-complete { max-width:62rem; margin-inline:auto; }
.rp-booking-complete .rb-ticket { grid-template-columns:repeat(4,1fr); }
.rp-booking-complete .rp-button { margin-top:1rem; }
.rp-retry { padding:.5rem 0; border:0; border-bottom:1px solid currentColor; background:transparent; cursor:pointer; }
.ra-status.pending { background:rgba(242,103,34,.12); color:var(--orange); }
.ra-status.cancelled { background:rgba(184,71,46,.12); color:var(--danger); }

@media (max-width:68rem) {
  .rp-site-header { grid-template-columns:1fr auto auto; }
  .rp-site-header .rp-primary-nav { grid-column:auto; }
  .rp-site-header .rp-header-actions { grid-column:auto; }
  .rp-menu-toggle { display:grid; place-content:center; justify-self:end; }
  .rp-site-header .rp-primary-nav { display:none; position:absolute; z-index:30; inset-inline:1rem; inset-block-start:calc(100% + .5rem); padding:1rem; border:1px solid var(--line); background:var(--paper); color:var(--navy); box-shadow:var(--shadow); }
  .rp-header.rp-site-header .rp-primary-nav { background:rgba(7,23,49,.96); color:#fff; border-color:rgba(255,255,255,.2); }
  .rp-site-header .rp-primary-nav.is-open { display:block; }
  .rp-site-header .rp-primary-nav .rp-menu { display:grid; gap:0; }
  .rp-site-header .rp-primary-nav a { min-height:3rem; display:flex; align-items:center; border-bottom:1px solid currentColor; }
}

@media (max-width:47rem) {
  body.admin-bar .rp-site-header { top:46px; }
  .rp-header.rp-site-header,.rpa-header.rp-site-header { grid-template-columns:1fr auto auto; }
  .rp-header.rp-site-header .rp-primary-nav,.rpa-header.rp-site-header .rp-primary-nav { display:none; }
  .rp-header.rp-site-header .rp-primary-nav.is-open,.rpa-header.rp-site-header .rp-primary-nav.is-open { display:block; }
  .rp-header.rp-site-header .rp-header-actions { grid-column:3; }
  .rp-header.rp-site-header .rp-menu-toggle { grid-column:2; }
  .rp-site-header .rp-header-actions .rp-account-link { display:none; }
  .rp-contact-form-section,.rp-auth-grid,.rp-booking-checkout { grid-template-columns:1fr; }
  .rp-auth-card { min-height:auto; }
  .rp-booking-checkout .rb-order-card { grid-row:1; }
  .rp-booking-complete .rb-ticket { grid-template-columns:1fr 1fr; }
}
