/* =========================================================
   PARADISE ESCAPE
   LEGAL PAGES
   TERMS & CONDITIONS + PRIVACY POLICY
   FINAL CLEAN CSS
========================================================= */


/* =========================================================
   TOKENS
========================================================= */

.pe-legal-page{
      --pe-black:#111210;
      --pe-charcoal:#191A17;
      --pe-charcoal-2:#20211D;
      --pe-gold:#B79A62;
      --pe-gold-dark:#9E8352;
      --pe-gold-soft:#CDB886;
      --pe-ivory:#F4F0E7;
      --pe-muted:#B9B4AA;
      --pe-line:rgba(183,154,98,.20);
    }
    
    
    /* =========================================================
       OWNERREZ PAGE WRAPPER
    ========================================================= */
    
    html:has(.pe-legal-page) body{
      background:#111210 !important;
      color:#F4F0E7 !important;
    }
    
    html:has(.pe-legal-page) #content.container{
      width:100% !important;
      max-width:1280px !important;
    
      margin:0 auto !important;
    
      padding:
        118px
        28px
        72px !important;
    
      background:#111210 !important;
    }
    
    html:has(.pe-legal-page) #content .body-content{
      width:100% !important;
    
      margin:0 !important;
      padding:0 0 64px !important;
    
      background:#111210 !important;
      color:#F4F0E7 !important;
    }
    
    html:has(.pe-legal-page) #content,
    html:has(.pe-legal-page) #content .row,
    html:has(.pe-legal-page) #content [class*="col-"]{
      background-color:transparent !important;
    }
    
    
    /* Hide OwnerRez native title + lead */
    
    html:has(.pe-legal-page) #content h1.page-header{
      display:none !important;
    }
    
    html:has(.pe-legal-page) #content h1.page-header + p,
    html:has(.pe-legal-page) #content h1.page-header + .lead{
      display:none !important;
    }
    
    
    /* =========================================================
       PAGE BASE
    ========================================================= */
    
    .pe-legal-page{
      width:100%;
    
      margin:0;
      padding:0;
    
      background:var(--pe-black);
      color:var(--pe-ivory);
    
      font-family:
        "Alone Kaium",
        "Open Sans",
        sans-serif;
    }
    
    .pe-legal-page *,
    .pe-legal-page *::before,
    .pe-legal-page *::after{
      box-sizing:border-box;
    }
    
    .pe-legal-page h2,
    .pe-legal-page h3{
      margin-top:0;
    
      color:var(--pe-ivory);
    
      font-family:"Marcellus",Georgia,serif;
      font-weight:400;
    }
    
    .pe-legal-page p,
    .pe-legal-page li{
      color:var(--pe-muted);
    
      font-size:17px;
      line-height:1.72;
    }
    
    .pe-legal-page a{
      color:var(--pe-gold-soft);
    
      text-decoration:none;
    }
    
    
    /* =========================================================
       HERO
    ========================================================= */
    
    .pe-legal-hero{
      position:relative;
    
      width:100%;
    
      padding:
        74px
        64px
        68px;
    
      overflow:hidden;
    
      background:
        linear-gradient(
          135deg,
          #191A17 0%,
          #151613 58%,
          #111210 100%
        );
    
      border:
        1px solid rgba(183,154,98,.20);
    
      border-radius:18px;
    }
    
    .pe-legal-hero::after{
      content:"";
    
      position:absolute;
    
      top:0;
      right:0;
    
      width:42%;
      height:100%;
    
      background:
        radial-gradient(
          circle at top right,
          rgba(183,154,98,.11),
          transparent 70%
        );
    
      pointer-events:none;
    }
    
    .pe-legal-kicker{
      position:relative;
      z-index:1;
    
      display:block;
    
      margin-bottom:18px;
    
      color:var(--pe-gold-soft);
    
      font-size:11px;
      line-height:1.2;
      font-weight:500;
    
      letter-spacing:.18em;
    }
    
    .pe-legal-hero h2{
      position:relative;
      z-index:1;
    
      max-width:820px;
    
      margin:0 0 24px;
    
      font-size:clamp(48px,5vw,68px);
      line-height:1.02;
    
      letter-spacing:-.025em;
    }
    
    .pe-legal-intro{
      position:relative;
      z-index:1;
    
      max-width:760px;
    
      margin:0 0 28px !important;
    
      color:rgba(244,240,231,.72) !important;
    
      font-size:18px !important;
      line-height:1.68 !important;
    }
    
    .pe-legal-updated{
      position:relative;
      z-index:1;
    
      margin:0 !important;
    
      color:rgba(244,240,231,.45) !important;
    
      font-size:13px !important;
      line-height:1.4 !important;
    
      letter-spacing:.02em;
    }
    
    
    /* =========================================================
       MAIN LEGAL LAYOUT
    ========================================================= */
    
    .pe-legal-layout{
      display:grid;
    
      grid-template-columns:
        230px
        minmax(0,1fr);
    
      gap:72px;
    
      padding:
        86px
        18px
        30px;
    }
    
    
    /* =========================================================
       LEFT NAV
    ========================================================= */
    
    .pe-legal-nav{
      min-width:0;
    }
    
    .pe-legal-nav-inner{
      position:sticky;
    
      top:110px;
    
      display:flex;
    
      flex-direction:column;
    
      padding:
        20px
        0
        22px;
    
      border-top:
        1px solid var(--pe-line);
    
      border-bottom:
        1px solid var(--pe-line);
    }
    
    .pe-legal-nav-label{
      margin-bottom:16px;
    
      color:var(--pe-gold);
    
      font-size:10px;
      line-height:1.2;
      font-weight:500;
    
      letter-spacing:.15em;
    }
    
    .pe-legal-nav a{
      position:relative;
    
      padding:
        7px
        0;
    
      color:rgba(244,240,231,.62);
    
      font-size:13px;
      line-height:1.35;
    
      transition:
        color .18s ease,
        padding-left .18s ease;
    }
    
    .pe-legal-nav a:hover{
      padding-left:5px;
    
      color:var(--pe-ivory);
    }
    
    
    /* =========================================================
       CONTENT COLUMN
    ========================================================= */
    
    .pe-legal-content{
      width:100%;
      max-width:860px;
    }
    
    .pe-legal-section{
      position:relative;
    
      margin:0 0 54px;
    
      padding:
        0
        0
        54px;
    
      border-bottom:
        1px solid rgba(183,154,98,.14);
    }
    
    .pe-legal-section:last-child{
      margin-bottom:0;
    }
    
    .pe-legal-number{
      display:block;
    
      margin-bottom:17px;
    
      color:var(--pe-gold);
    
      font-size:10px;
      line-height:1;
    
      letter-spacing:.13em;
    }
    
    .pe-legal-section h3{
      margin:
        0
        0
        22px;
    
      color:var(--pe-ivory);
    
      font-size:34px;
      line-height:1.08;
    
      letter-spacing:-.015em;
    }
    
    .pe-legal-section p{
      max-width:820px;
    
      margin:
        0
        0
        18px;
    }
    
    .pe-legal-section p:last-child{
      margin-bottom:0;
    }
    
    
    /* =========================================================
       LISTS
    ========================================================= */
    
    .pe-legal-section ul{
      margin:
        23px
        0
        22px;
    
      padding:0;
    
      list-style:none;
    }
    
    .pe-legal-section li{
      position:relative;
    
      margin-bottom:12px;
    
      padding-left:24px;
    }
    
    .pe-legal-section li:last-child{
      margin-bottom:0;
    }
    
    .pe-legal-section li::before{
      content:"";
    
      position:absolute;
    
      top:.72em;
      left:3px;
    
      width:5px;
      height:5px;
    
      background:var(--pe-gold);
    
      border-radius:50%;
    }
    
    
    /* =========================================================
       INLINE LINKS
    ========================================================= */
    
    .pe-legal-section p a{
      color:var(--pe-gold-soft);
    
      border-bottom:
        1px solid rgba(205,184,134,.38);
    
      transition:
        color .18s ease,
        border-color .18s ease;
    }
    
    .pe-legal-section p a:hover{
      color:var(--pe-ivory);
    
      border-color:
        rgba(244,240,231,.55);
    }
    
    
    /* =========================================================
       FINAL CONTACT CARD
    ========================================================= */
    
    .pe-legal-contact{
      margin-top:8px;
    
      padding:
        40px
        38px;
    
      background:#171815;
    
      border:
        1px solid rgba(183,154,98,.18);
    
      border-radius:14px;
    }
    
    .pe-legal-contact-list{
      display:flex;
    
      flex-direction:column;
    
      align-items:flex-start;
    
      gap:8px;
    
      margin-top:24px;
    }
    
    .pe-legal-contact-list a,
    .pe-legal-contact-list span{
      color:var(--pe-ivory);
    
      font-size:15px;
      line-height:1.5;
    }
    
    .pe-legal-contact-list a{
      color:var(--pe-gold-soft);
    }
    
    
    /* =========================================================
       TABLET
    ========================================================= */
    
    @media(max-width:991px){
    
      html:has(.pe-legal-page) #content.container{
        padding:
          105px
          22px
          64px !important;
      }
    
      .pe-legal-hero{
        padding:
          62px
          46px
          58px;
      }
    
      .pe-legal-layout{
        grid-template-columns:
          190px
          minmax(0,1fr);
    
        gap:46px;
    
        padding-top:70px;
      }
    
    }
    
    
    /* =========================================================
       MOBILE
    ========================================================= */
    
    @media(max-width:767px){
    
      html:has(.pe-legal-page) #content.container{
        padding:
          96px
          16px
          50px !important;
      }
    
      html:has(.pe-legal-page) #content .body-content{
        padding-bottom:44px !important;
      }
    
    
      /* Hero */
    
      .pe-legal-hero{
        padding:
          46px
          25px
          42px;
    
        border-radius:14px;
      }
    
      .pe-legal-hero h2{
        font-size:43px;
        line-height:1.04;
      }
    
      .pe-legal-intro{
        font-size:16px !important;
        line-height:1.68 !important;
      }
    
    
      /* Main layout */
    
      .pe-legal-layout{
        display:block;
    
        padding:
          56px
          4px
          20px;
      }
    
      .pe-legal-nav{
        display:none;
      }
    
      .pe-legal-content{
        width:100%;
        max-width:none;
      }
    
    
      /* Sections */
    
      .pe-legal-section{
        margin-bottom:40px;
    
        padding-bottom:40px;
      }
    
      .pe-legal-section h3{
        margin-bottom:18px;
    
        font-size:29px;
        line-height:1.1;
      }
    
      .pe-legal-page p,
      .pe-legal-page li{
        font-size:16px;
        line-height:1.72;
      }
    
      .pe-legal-section ul{
        margin:
          20px
          0;
      }
    
    
      /* Contact */
    
      .pe-legal-contact{
        margin-top:0;
    
        padding:
          29px
          22px;
    
        border-radius:12px;
      }
    
    }
    
    
    /* =========================================================
       SMALL MOBILE
    ========================================================= */
    
    @media(max-width:480px){
    
      html:has(.pe-legal-page) #content.container{
        padding-left:14px !important;
        padding-right:14px !important;
      }
    
      .pe-legal-hero{
        padding:
          42px
          22px
          39px;
      }
    
      .pe-legal-hero h2{
        font-size:39px;
      }
    
      .pe-legal-section h3{
        font-size:27px;
      }
    
    }