/* ================================================================
   GR1P POLICY PAGES — Shared Design System

   Ownership:
   - Reusable policy page base layout
   - Policy breadcrumb context
   - Shared section label / title / divider (scoped under .gr1p-policy-page)
   - Policy container, hero, sections, content, footer note
   - Delivery-specific styles (migrated from page-policies.css)
   ================================================================ */


/* ================================================================
   FULL WIDTH TEMPLATE FIX
   ================================================================ */

.gr1p-fullwidth-page {

    width:100% !important;

    max-width:100% !important;

    margin:0 !important;

    padding:0 !important;

}


/* ================================================================
   BREADCRUMBS — Policy Context
   ================================================================ */

.gr1p-breadcrumbs--policy {

    background-color: var(--gr1p-dark);

    padding: 5px 0;

    margin-left: calc(-50vw + 50%);

    margin-right: calc(-50vw + 50%);

    padding-left: calc(50vw - 50%);

    padding-right: calc(50vw - 50%);

}

.gr1p-breadcrumbs--policy .woocommerce-breadcrumb {

    font-family: var(--gr1p-font);

    font-weight: 500;

    font-size: 15px;

    text-transform: uppercase;

    color: var(--gr1p-orange);

    margin: 0;

}

.gr1p-breadcrumbs--policy .woocommerce-breadcrumb a {

    color: var(--gr1p-light);

    text-decoration: none;

}

.gr1p-breadcrumbs--policy .woocommerce-breadcrumb a:hover {

    color: var(--gr1p-orange);

}


/* ================================================================
   SHARED COMPONENTS (scoped under policy pages)

   These mirror the bare classes in page-about.css but use GR1P
   brand tokens and are scoped to avoid cross-page conflicts.
   ================================================================ */

.gr1p-policy-page .section-label {

    font-family: var(--f-body,var(--gr1p-font));

    font-size: .7rem;

    font-weight: 600;

    letter-spacing: .2em;

    text-transform: uppercase;

    color: var(--gr1p-gold);

    margin-bottom: .75rem;

    display: block;

}

.gr1p-policy-page .section-title {

    font-family: var(--f-display,var(--gr1p-font));

    letter-spacing: .04em;

    line-height: 1.05;

}

.gr1p-policy-page .gold-divider {

    width: 48px;

    height: 3px;

    background: var(--gr1p-gold);

    border: none;

    margin: 1.5rem 0;

    border-radius: 2px;

}


/* ================================================================
   POLICY PAGE BASE
   ================================================================ */

.gr1p-policy-page {

    width:100%;

    background:var(--c-bg,#F8F9FA);

    color:var(--gr1p-dark,#29292C);

}


/* ================================================================
   POLICY CONTAINER
   ================================================================ */

.gr1p-policy-page .policy-container {

    width:100%;

    max-width:1440px;

    margin:0 auto;

    padding-left:24px;

    padding-right:24px;

}


/* ================================================================
   POLICY HERO
   ================================================================ */

.gr1p-policy-page .policy-hero {

    padding:100px 0 70px;

}

.gr1p-policy-page .policy-intro {

    max-width:720px;

    margin:35px auto 0;

    font-family:var(--f-body,var(--gr1p-font));

    color:var(--gr1p-medium-gray,#54595F);

    font-size:1.05rem;

    line-height:1.9;

}

.gr1p-policy-page .policy-hero .section-title {

    font-size:2rem;

}


/* ================================================================
   POLICY SECTIONS
   ================================================================ */

.gr1p-policy-page .policy-section {

    padding:60px 0 100px;

}


/* ================================================================
   POLICY CONTENT — Legal Document Typography

   For policy pages with numbered legal sections (Privacy,
   Terms, Cookies, etc.) use this pattern:
     <section class="policy-section">
       <div class="policy-container">
         <div class="policy-content">
           <div class="policy-content-block">
             <h2>1. Section Title</h2>
             <p>Body text...</p>
           </div>
         </div>
       </div>
     </section>
   ================================================================ */

.gr1p-policy-page .policy-content {

    max-width:860px;

    margin:0 auto;

}

.gr1p-policy-page .policy-content-block {

    margin-bottom:40px;

}

.gr1p-policy-page .policy-content-block h2 {

    font-family:var(--f-display,var(--gr1p-font));

    font-size:1.3rem;

    letter-spacing:.02em;

    margin:0 0 16px;

    color:var(--gr1p-dark);

}

.gr1p-policy-page .policy-content-block p {

    font-family:var(--f-body,var(--gr1p-font));

    font-size:1rem;

    line-height:1.8;

    color:var(--gr1p-medium-gray,#54595F);

    margin:0 0 12px;

}

.gr1p-policy-page .policy-content-block ul {

    font-family:var(--f-body,var(--gr1p-font));

    line-height:1.8;

    color:var(--gr1p-medium-gray,#54595F);

    padding-left:20px;

}

.gr1p-policy-page .policy-content-block li {

    margin-bottom:8px;

}


/* ================================================================
   POLICY FOOTER NOTE
   ================================================================ */

.gr1p-policy-page .policy-footer-note {

    padding:80px 0;

    background:var(--gr1p-dark,#29292C);

}

.gr1p-policy-page .policy-message {

    max-width:800px;

    margin:auto;

    padding:40px;

    border-left:3px solid var(--gr1p-gold,#E6AB40);

}

.gr1p-policy-page .policy-message p {

    margin:0;

    color:rgba(255,255,255,.85);

    font-family:var(--f-body,var(--gr1p-font));

    line-height:2;

}


/* ================================================================
   RESPONSIVE
   ================================================================ */

@media(max-width:991px){

.gr1p-policy-page .policy-hero .section-title {

    font-size:2.4rem;

}

}

@media(max-width:767px){

.gr1p-policy-page .policy-container {

    padding-left:20px;

    padding-right:20px;

}

.gr1p-policy-page .policy-hero {

    padding:60px 0 40px;

}

.gr1p-policy-page .policy-hero .section-title {

    font-size:1.8rem;

}

.gr1p-policy-page .policy-section {

    padding:40px 0 60px;

}

.gr1p-policy-page .policy-footer-note {

    padding:50px 0;

}

}


/* ================================================================
   DELIVERY-SPECIFIC STYLES
   (migrated from page-policies.css)
   ================================================================ */

.gr1p-policy-page .delivery-grid {

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:25px;

    max-width:1100px;

    margin:0 auto;

}

.gr1p-policy-page .delivery-card {

    padding:40px;

    background:var(--gr1p-white,#FFFFFF);

    border:1px solid rgba(28,28,30,.08);

    border-left:4px solid var(--gr1p-gold,#E6AB40);

    transition:.35s ease;

}

.gr1p-policy-page .delivery-card:hover {

    border-color:var(--gr1p-gold,#E6AB40);

    transform:translateY(-4px);

    box-shadow:0 10px 30px rgba(0,0,0,.06);

}

.gr1p-policy-page .delivery-card h3 {

    margin:0 0 12px;

    font-family:var(--f-display,var(--gr1p-font));

    font-size:1.05rem;

    letter-spacing:.08em;

}

.gr1p-policy-page .delivery-card p {

    margin:0;

    font-family:var(--f-body,var(--gr1p-font));

    color:var(--gr1p-medium-gray,#54595F);

    line-height:1.8;

}

.gr1p-policy-page .delivery-process {

    padding:100px 0;

    background:var(--gr1p-white,#FFFFFF);

}

.gr1p-policy-page .process-grid {

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.gr1p-policy-page .process-step {

    height:100%;

    padding:35px;

    border:1px solid rgba(28,28,30,.08);

    background:#fff;

    transition:.35s ease;

}

.gr1p-policy-page .process-step:hover {

    border-color:var(--gr1p-gold,#E6AB40);

    transform:translateY(-6px);

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.gr1p-policy-page .process-number {

    font-family:var(--f-display,var(--gr1p-font));

    font-size:2.8rem;

    font-weight:700;

    color:var(--gr1p-gold);

    margin-bottom:25px;

}

.gr1p-policy-page .process-step h3 {

    font-size:1rem;

    letter-spacing:.08em;

    margin-bottom:15px;

}

.gr1p-policy-page .process-step p {

    font-family:var(--f-body,var(--gr1p-font));

    color:var(--gr1p-medium-gray);

    line-height:1.8;

}


/* ================================================================
   DELIVERY RESPONSIVE
   ================================================================ */

@media(max-width:991px){

.gr1p-policy-page .process-grid {

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:767px){

.gr1p-policy-page .delivery-grid {

    grid-template-columns:1fr;

}

.gr1p-policy-page .process-grid {

    grid-template-columns:1fr;

}

}
