@charset "UTF-8";@media all {/*
Theme Name: Perfect Glaze Child
Theme URI: https://www.perfectglaze.com.au/
Description: Gutenberg-first child theme for Perfect Glaze Roofing, based on Twenty Twenty-Five.
Author: Perfect Glaze Roofing
Template: twentytwentyfive
Version: 2.5.4
Text Domain: perfect-glaze-child
*/

:root { --pg-red:#e31e24; --pg-black:#0d0d0d; --pg-white:#fff; }
body { background:#fff; color:#0d0d0d; }
.wp-site-blocks { overflow:clip; }

/* Global site chrome only. Page bodies are styled with Gutenberg blocks. */
.pg-topbar { background:#0d0d0d; color:#fff; font-size:.78rem; font-weight:700; }
.pg-topbar a { color:#fff; text-decoration:none; }
.pg-masthead { position:relative; overflow:hidden; min-height:210px; padding:0 !important; background:#050505; }
.pg-brand-logo { position:relative; z-index:2; display:block; width:100%; }
.pg-brand-logo img { display:block; width:100%; height:220px; object-fit:cover; object-position:center 48%; }
.pg-nav-bar { position:relative; z-index:10; color:#fff; background:linear-gradient(90deg,#bd0710,#e31e24 48%,#bd0710); box-shadow:0 5px 18px rgba(13,13,13,.18); }
.pg-nav-bar .wp-block-navigation-item__content,
.pg-nav-bar .wp-block-navigation-submenu__toggle { color:#fff; }
.pg-nav-bar .wp-block-navigation__submenu-container { border:0; color:#fff; background:#0d0d0d; }
.pg-nav-bar .wp-block-navigation-item__content:hover { color:#fff; opacity:.78; }
.pg-nav-bar .wp-block-button__link { border:1px solid #fff; color:#e31e24; background:#fff; }
.pg-footer { background:#0d0d0d; color:#fff; }
.pg-footer h2,.pg-footer h3,.pg-footer p { color:#fff; }
.pg-mobile-action-bar { display:none; }

/* Projects provide their full layout in Gutenberg; hide parent-theme blog chrome. */
body.single-pg_project main { margin-block-start:0 !important; }
body.single-pg_project main > .wp-block-group:first-child { padding-top:0 !important; padding-bottom:0 !important; }
body.single-pg_project .entry-content.wp-block-post-content { margin-block-start:0 !important; }
body.single-pg_project main > .wp-block-group:first-child > .wp-block-group,
body.single-pg_project main > .wp-block-group.alignwide { display:none; }
body.single-pg_project footer { margin-block-start:0 !important; }

/* Homepage product and service cards (content remains editable in Gutenberg). */
body.home .pg-kicker {
  margin-bottom:.65rem;
  color:var(--pg-red);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

/* Individual project hero title. */
.single-pg_project h1.wp-block-heading {
    font-size: 60px !important;
    line-height: 1.05;
}
body.home .pg-section-title {
  max-width:980px;
  margin-inline:auto;
  line-height:1.02;
  text-transform:uppercase;
}
body.home .pg-section-title strong { color:var(--pg-red); }
body.home .pg-service-card {
  height:100%;
  overflow:hidden;
  border-top:4px solid var(--pg-red);
  border-radius:8px;
  color:#fff;
  background:linear-gradient(155deg,#1e1e1e 0%,#090909 82%);
  box-shadow:0 12px 28px rgba(13,13,13,.18);
  transition:transform .2s ease,box-shadow .2s ease;
}
body.home .pg-service-card:hover {
  transform:translateY(-5px);
  box-shadow:0 18px 36px rgba(13,13,13,.25);
}
body.home .pg-service-card .wp-block-image { margin:0; }
body.home .pg-service-card .wp-block-image img {
  display:block;
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
}
body.home .pg-service-card__body {
  display:flex;
  flex-direction:column;
  min-height:270px;
  padding:1.35rem 1.4rem 1.5rem;
}
body.home .pg-service-card__body .pg-kicker {
  margin:0 0 .4rem;
  color:#ff3b40;
  font-size:.72rem;
}
body.home .pg-service-card__body h3 {
  margin:0 0 .75rem;
  color:#fff;
  font-size:1.35rem;
  line-height:1.1;
  text-transform:uppercase;
}
body.home .pg-service-card__body > p:not(.pg-kicker) {
  margin-top:0;
  color:#f4f4f4;
  line-height:1.55;
}
body.home .pg-service-card__body > p:last-child { margin-top:auto; padding-top:.65rem; }
body.home .pg-service-card__body a {
  color:#fff;
  font-weight:800;
  text-decoration:none;
}
body.home .pg-service-card__body > p:last-child a {
  display:inline-block;
  padding:.7rem 1rem;
  border:1px solid var(--pg-red);
  border-radius:4px;
  background:var(--pg-red);
  text-transform:uppercase;
}
body.home .pg-service-card__body > p:last-child a:hover { background:#b90f15; }

@media (max-width:781px) {
  body.home .pg-service-card__body { min-height:230px; }
  body.home .pg-section-title { font-size:clamp(2rem,9vw,3.25rem) !important; }
}

@media (max-width:900px) {
  .pg-nav-bar .wp-block-buttons { display:none; }
  .pg-masthead { min-height:145px; }
  .pg-brand-logo img { height:150px; }
}

@media (max-width:767.98px) {
  .pg-topbar { display:none; }
  .pg-footer {
    padding-bottom:calc(var(--wp--preset--spacing--40) + 60px + env(safe-area-inset-bottom)) !important;
  }
  .pg-mobile-action-bar {
    position:fixed;
    z-index:9999;
    right:0;
    bottom:0;
    left:0;
    display:block;
    width:100%;
    max-width:none !important;
    margin:0 !important;
    padding:0 0 env(safe-area-inset-bottom);
    border-top:1px solid rgba(255,255,255,.28);
    background:#0d0d0d;
    box-shadow:0 -5px 18px rgba(0,0,0,.22);
    box-sizing:border-box;
  }
  .pg-mobile-action-bar .wp-block-buttons {
    display:flex;
    flex-wrap:nowrap;
    gap:0;
    width:100%;
  }
  .pg-mobile-action-bar .wp-block-button {
    flex:1 1 50%;
    margin:0;
  }
  .pg-mobile-action-bar .wp-block-button__link {
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:60px;
    padding:.7rem .5rem;
    border:0;
    border-radius:0;
    color:#fff;
    font-family:Montserrat,Arial,sans-serif;
    font-size:.88rem;
    font-weight:800;
    line-height:1.15;
    text-align:center;
    text-decoration:none;
    text-transform:uppercase;
    box-sizing:border-box;
  }
  .pg-mobile-action-bar .pg-mobile-call .wp-block-button__link { background:#0d0d0d; }
  .pg-mobile-action-bar .pg-mobile-quote .wp-block-button__link {
    border-left:1px solid rgba(255,255,255,.32);
    background:#e31e24;
  }
}


/* Projects & Gallery listing: equal-height cards with consistent media. */
.pg-projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:stretch;gap:24px;margin-top:32px}
.pg-project-card-link{display:flex;min-width:0;color:inherit;text-decoration:none}
.pg-project-card{display:flex;flex:1 1 auto;flex-direction:column;height:100%;overflow:hidden;border-radius:8px;background:#0d0d0d;color:#fff}
.pg-project-card__image{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.pg-project-card__content{display:flex;flex:1 1 auto;flex-direction:column;padding:22px}
.pg-project-card__category{margin-top:0;color:#e31e24;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.pg-project-card__title{color:#fff}
.pg-project-card__location{color:#d8d8d8;font-size:14px}
.pg-project-card__summary{margin-bottom:0;color:#fff}
@media (max-width:767px) {.pg-project-card,.pg-project-card-link{height:auto}}
}
