/*
Theme Name: PromotionHours Agency
Theme URI: https://promotionhours.com/
Author: PromotionHours Team
Description: Native server-rendered, Gutenberg-editable dark/light WordPress theme adapted from the owner-provided PromotionHours React/Base44 source.
Version: 2.0.0
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: promotionhours
*/
:root{--ph-bg:#090c14;--ph-panel:#111725;--ph-panel2:#171e2e;--ph-fg:#f5f8ff;--ph-muted:#a3aec1;--ph-border:rgba(202,215,241,.15);--ph-blue:#3a86ff;--ph-blue-strong:#1d71f5;--ph-lime:#b9eb78;--ph-pink:#ff006e;--ph-soft:rgba(58,134,255,.11);--ph-shadow:0 24px 75px rgba(0,0,0,.26);color-scheme:dark}
html[data-theme="light"]{--ph-bg:#f6f8fc;--ph-panel:#ffffff;--ph-panel2:#eef3fb;--ph-fg:#142035;--ph-muted:#54637a;--ph-border:rgba(24,43,80,.17);--ph-blue:#165bd9;--ph-blue-strong:#0c45b0;--ph-lime:#16754b;--ph-pink:#c52772;--ph-soft:rgba(35,98,214,.08);--ph-shadow:0 20px 55px rgba(34,65,109,.09);color-scheme:light}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ph-bg);color:var(--ph-fg);font:400 16px/1.75 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--ph-blue);text-underline-offset:.2em}a:hover{color:var(--ph-lime)}img,svg{max-width:100%}img{height:auto}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,h4{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:-.035em;line-height:1.17;color:var(--ph-fg);margin:0 0 20px}h1{font-size:clamp(2.45rem,5vw,4.25rem)}h2{font-size:clamp(1.75rem,3vw,2.85rem)}h3{font-size:clamp(1.12rem,1.6vw,1.45rem);letter-spacing:-.02em}p{margin:0 0 1.15rem}ul{padding-left:1.4rem}li{margin:.4rem 0}::selection{background:var(--ph-blue);color:#fff}:focus-visible{outline:3px solid var(--ph-blue);outline-offset:3px}.ph-shell{max-width:1200px;padding-left:clamp(18px,4vw,40px);padding-right:clamp(18px,4vw,40px);margin:auto}.ph-skip{position:absolute;top:-100px;left:12px;z-index:999;background:#fff;color:#000;padding:8px 16px}.ph-skip:focus{top:12px}.ph-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--ph-bg) 93%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--ph-border)}.admin-bar .ph-header{top:32px}.ph-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}.ph-brand{text-decoration:none;font-size:1.36rem;font-weight:900;letter-spacing:-.045em;color:var(--ph-fg)}.ph-brand span{color:var(--ph-blue)}.ph-nav{display:flex;align-items:center;gap:26px}.ph-nav a{font-size:.84rem;letter-spacing:.025em;font-weight:700;color:var(--ph-muted);text-decoration:none}.ph-nav a:hover,.ph-nav a[aria-current="page"]{color:var(--ph-blue)}.ph-nav .ph-nav-button{padding:10px 16px;background:var(--ph-blue);color:white}.ph-head-actions{display:flex;gap:10px;align-items:center}.ph-theme-toggle,.ph-menu-toggle{background:transparent;color:var(--ph-fg);border:1px solid var(--ph-border);padding:7px 10px;border-radius:5px;font-size:.86rem}.ph-menu-toggle{display:none}.ph-dropdown{position:relative}.ph-dropdown>button{font-size:.84rem;letter-spacing:.025em;font-weight:700;color:var(--ph-muted);background:transparent;border:0;padding:8px}.ph-subnav{display:none;position:absolute;top:100%;left:-20px;width:270px;background:var(--ph-panel);border:1px solid var(--ph-border);box-shadow:var(--ph-shadow);padding:12px}.ph-subnav a{display:block;padding:8px 12px}.ph-dropdown:hover .ph-subnav,.ph-dropdown:focus-within .ph-subnav{display:block}.ph-main{min-height:60vh}.ph-main>.wp-block-group,.ph-main>.wp-block-shortcode{max-width:none}.ph-hero,.ph-page-hero{background-image:linear-gradient(120deg,var(--ph-soft),transparent 65%),linear-gradient(var(--ph-border) 1px,transparent 1px),linear-gradient(90deg,var(--ph-border) 1px,transparent 1px);background-size:auto,55px 55px,55px 55px;background-position:center;position:relative;border-bottom:1px solid var(--ph-border)}.ph-hero{padding:clamp(55px,8vw,95px) max(22px,calc((100vw - 1120px)/2));display:grid!important;grid-template-columns:minmax(0,1fr) minmax(340px,.94fr);align-items:center;gap:clamp(25px,4vw,60px)}.ph-page-hero{padding:clamp(60px,7vw,92px) max(22px,calc((100vw - 1120px)/2))}.ph-page-hero>:is(h1,p){max-width:940px}.ph-hero h1,.ph-page-hero h1{max-width:16ch;line-height:1.02;letter-spacing:-.055em}.ph-hero h1{font-size:clamp(2.65rem,4.7vw,4.55rem)}.ph-page-hero h1{max-width:25ch}.ph-hero-copy{max-width:63ch;font-size:1.05rem;color:var(--ph-muted)}.ph-eyebrow{color:var(--ph-lime);font:700 .72rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.16em;margin:0 0 18px}.ph-section{padding:clamp(50px,7vw,90px) max(22px,calc((100vw - 1120px)/2));border-bottom:1px solid var(--ph-border)}.ph-section>.ph-section-intro{font-size:1.04rem;max-width:780px;color:var(--ph-muted);margin-bottom:35px}.ph-section>p:not(.ph-eyebrow):not(.ph-section-intro){max-width:890px;color:var(--ph-muted)}.ph-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0}.ph-card{background:var(--ph-panel);border:1px solid var(--ph-border);padding:26px;border-radius:5px;transition:border-color .22s,transform .22s;min-width:0}.ph-card:hover{border-color:var(--ph-blue);transform:translateY(-2px)}.ph-card h3{margin-bottom:12px}.ph-card p{color:var(--ph-muted);font-size:.94rem}.ph-card li{color:var(--ph-muted);font-size:.91rem}.ph-card a{font-weight:700;text-decoration:none}.ph-card .ph-eyebrow{font-size:.68rem}.ph-faq-item{padding:22px 0;border-bottom:1px solid var(--ph-border)}.ph-faq-item p{color:var(--ph-muted)}.ph-chips{display:flex!important;flex-wrap:wrap;gap:10px;margin:25px 0}.ph-chip{margin:0!important;border:1px solid var(--ph-border);background:var(--ph-panel);padding:9px 13px;font:.73rem/1.45 ui-monospace,Consolas,monospace;text-transform:uppercase;letter-spacing:.04em}.ph-trust{padding:23px max(22px,calc((100vw - 1120px)/2));border-bottom:1px solid var(--ph-border);background:var(--ph-panel)}.ph-trust .ph-eyebrow{color:var(--ph-muted)}.ph-trust p{margin-bottom:7px}.ph-small{font-size:.78rem;color:var(--ph-muted);line-height:1.5}.ph-btn .wp-block-button__link,.ph-account-links .ph-btn,.ph-contact-form .ph-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--ph-blue);color:white!important;border-radius:3px;padding:14px 22px;text-decoration:none;text-transform:uppercase;letter-spacing:.07em;font-weight:800;font-size:.76rem;border:1px solid var(--ph-blue);line-height:1.35;transition:background .2s}.ph-btn .wp-block-button__link:hover,.ph-account-links .ph-btn:hover,.ph-contact-form .ph-btn:hover{background:var(--ph-blue-strong)}.ph-btn-secondary .wp-block-button__link{border-color:var(--ph-border);background:transparent;color:var(--ph-fg)!important}.ph-btn-secondary .wp-block-button__link:hover{background:var(--ph-panel)}.wp-block-buttons{margin-top:18px;margin-bottom:18px}.ph-hero-text .wp-block-buttons{display:inline-flex;margin-right:9px}.ph-account-links{display:flex;flex-wrap:wrap;gap:12px}.ph-contact-layout{display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(260px,.7fr);gap:28px;padding:60px max(22px,calc((100vw - 1120px)/2));border-bottom:1px solid var(--ph-border)}.ph-side-column{display:flex;flex-direction:column;gap:20px}.ph-contact-layout .ph-card{height:fit-content}.ph-contact-layout .ph-card h3{font-size:1.1rem}.ph-insights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ph-article-wrap{max-width:900px;margin:0 auto;padding:60px 24px 100px}.ph-article-meta{color:var(--ph-muted);font-size:.83rem}.ph-article-content{max-width:780px;margin:auto}.ph-article-content h2{margin-top:45px}.ph-article-content h3{margin-top:25px}.ph-article-content p,.ph-article-content li{color:var(--ph-muted)}.ph-footer{border-top:1px solid var(--ph-border);background:var(--ph-bg)}.ph-footer-grid{padding:62px 0;display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:32px}.ph-footer-grid h2{font-size:.77rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ph-muted)}.ph-footer-grid ul{list-style:none;padding:0;margin:0}.ph-footer-grid li{margin:9px 0}.ph-footer-grid a{font-size:.9rem;color:var(--ph-muted);text-decoration:none}.ph-footer-grid a:hover{color:var(--ph-blue)}.ph-footer-about p{color:var(--ph-muted);font-size:.9rem;max-width:320px}.ph-footer-bottom{padding:20px 0;border-top:1px solid var(--ph-border);display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--ph-muted);font:.71rem/1.6 ui-monospace,Consolas,monospace;text-transform:uppercase}.ph-ticker{white-space:nowrap;overflow:hidden;font-weight:900;font-size:clamp(3rem,12vw,12rem);line-height:1.2;letter-spacing:-.075em;opacity:.055;border-top:1px solid var(--ph-border);user-select:none}.ph-page-default{padding:70px 24px;max-width:1120px;margin:auto}.ph-page-default h1{margin-bottom:28px}.ph-404{text-align:center;padding:90px 20px}.ph-page-default .wp-block-group.ph-section{padding:40px 0}.ph-page-default>.entry-content{width:100%}.ph-demo-note,.ph-sample-label{background:var(--ph-soft);border:1px solid var(--ph-blue);padding:9px 12px;font:.74rem ui-monospace,Consolas,monospace;color:var(--ph-fg);text-transform:uppercase}.ph-sample-label{display:inline-block;margin-bottom:12px}
@media(max-width:1050px){.ph-nav{gap:15px}.ph-nav a{font-size:.79rem}.ph-hero{grid-template-columns:1fr 1fr}.ph-grid,.ph-insights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ph-footer-grid{grid-template-columns:1.5fr 1fr 1fr}}
@media(max-width:790px){.ph-menu-toggle{display:block}.ph-nav{display:none;position:absolute;top:76px;left:0;right:0;max-height:calc(100vh - 76px);overflow:auto;flex-direction:column;align-items:stretch;background:var(--ph-panel);border-bottom:1px solid var(--ph-border);padding:20px}.ph-nav[data-open="true"]{display:flex}.ph-nav a{font-size:1rem;padding:6px}.ph-dropdown{width:100%}.ph-dropdown>button{font-size:1rem}.ph-subnav{display:block;position:static;width:auto;border:none;box-shadow:none;padding:4px 0 4px 15px}.ph-hero{grid-template-columns:1fr;gap:45px}.ph-contact-layout{grid-template-columns:1fr}.ph-footer-grid{grid-template-columns:repeat(2,1fr)}.admin-bar .ph-header{top:46px}}
@media(max-width:550px){.ph-grid,.ph-insights-grid,.ph-footer-grid{grid-template-columns:1fr}.ph-hero h1{font-size:2.9rem}.ph-page-hero h1{font-size:2.4rem}.ph-section{padding-top:52px;padding-bottom:52px}.ph-card{padding:23px}.ph-footer-bottom{flex-direction:column;align-items:flex-start}.ph-header-inner{gap:8px}.ph-brand{font-size:1.15rem}.ph-hero-text .wp-block-buttons{display:flex}.ph-hero-text .wp-block-button{width:100%}.ph-hero-text .wp-block-button__link{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* PROMOTIONHOURS 2.0: Gutenberg-proof layout layers
 * WordPress' is-layout-constrained adds max-width and auto margins to every
 * inner Group. An ordinary grid rule does NOT override those on many WP sites.
 * These scoped rules reset inherited block sizing at each layout boundary.
 */
:root { --ph-content-max: 1180px; }
html,body { width:100%; min-width:320px; }
body { overflow-x: clip; }
.ph-main { width:100%; min-width:0; overflow-x:clip; }
.ph-main > .wp-block-group,
.ph-main > .wp-block-group.ph-section,
.ph-main > .wp-block-group.ph-page-hero,
.ph-main > .wp-block-group.ph-trust,
.ph-main > .wp-block-group.ph-hero,
.ph-main > .wp-block-group.ph-contact-layout {
  box-sizing:border-box!important;
  display:block;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}
/* The hero needs a true two-column desktop flex row. Gutenberg Group
   layout rules cannot change its columns, child width or alignment. */
.ph-main > .wp-block-group.ph-hero,
.ph-main .wp-block-group.ph-hero {
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(30px,4.4vw,66px)!important;
  width:100%!important;
  max-width:none!important;
  min-height:560px;
  margin:0!important;
  padding-block:clamp(56px,6.5vw,100px)!important;
  padding-inline:max(24px,calc((100vw - var(--ph-content-max))/2))!important;
  isolation:isolate;
}
.ph-main .wp-block-group.ph-hero > .wp-block-group.ph-hero-text,
.ph-main .wp-block-group.ph-hero > .wp-block-group.ph-hero-chart {
  box-sizing:border-box!important;
  flex:1 1 0!important;
  width:0!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  align-self:center!important;
}
.ph-main .wp-block-group.ph-hero > .wp-block-group.ph-hero-text { flex-grow:1.04!important; }
.ph-main .wp-block-group.ph-hero > .wp-block-group.ph-hero-chart { flex-grow:.96!important; }
.ph-main .ph-hero-text > * { max-width:100%; }
.ph-main .ph-hero h1 { font-size:clamp(3rem,4.45vw,4.4rem); max-width:14ch; margin-top:10px; margin-bottom:24px; overflow-wrap:normal; }
.ph-main .ph-hero .ph-hero-copy { font-size:1rem; max-width:570px; line-height:1.8; }
.ph-main .ph-hero-chart > *,
.ph-main .ph-hero-chart .ph-dashboard {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
.ph-main .ph-hero .wp-block-buttons,
.ph-main .ph-hero-text > .wp-block-buttons {
  display:inline-flex!important;
  vertical-align:middle!important;
  width:auto!important;
  max-width:100%!important;
  margin:14px 12px 0 0!important;
  gap:10px!important;
}
.ph-main .ph-hero .wp-block-button,
.ph-main .ph-hero .wp-block-button__link { width:auto!important; max-width:100%; margin:0!important; }
.ph-main .ph-hero .wp-block-button__link { display:inline-flex!important; align-items:center; justify-content:center; min-height:47px; text-align:center; }
/* Full-width Gutenberg sections, but a controlled 1180px inner measure. */
.ph-main > .wp-block-group.ph-section,
.ph-main > .wp-block-group.ph-page-hero,
.ph-main > .wp-block-group.ph-trust {
  padding-inline:max(24px,calc((100vw - var(--ph-content-max))/2))!important;
}
.ph-main .wp-block-group.ph-section > :where(*),
.ph-main .wp-block-group.ph-page-hero > :where(*),
.ph-main .wp-block-group.ph-trust > :where(*) {
  box-sizing:border-box!important;
  margin-left:0!important;
  margin-right:0!important;
}
.ph-main .wp-block-group.ph-section > :where(.ph-grid,.ph-insights-grid,.wp-block-columns),
.ph-main .wp-block-group.ph-section > .wp-block-group.ph-grid {
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
.ph-main .wp-block-group.ph-grid,
.ph-main .wp-block-group.ph-insights-grid {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:22px!important;
  width:100%!important;
  max-width:none!important;
  margin:32px 0!important;
}
.ph-main .ph-grid > .wp-block-group.ph-card,
.ph-main .ph-insights-grid > .wp-block-group.ph-card,
.ph-main .ph-grid > .ph-card,
.ph-main .ph-insights-grid > .ph-card {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  align-self:stretch!important;
}
.ph-main .ph-grid .ph-card > *,
.ph-main .ph-insights-grid .ph-card > * { max-width:100%; margin-left:0!important; margin-right:0!important; }
.ph-main .ph-section > .wp-block-buttons { width:auto!important; max-width:100%!important; }
.ph-main .ph-contact-layout { display:grid!important; grid-template-columns:minmax(0,1.4fr) minmax(280px,.85fr); gap:28px; }
.ph-main .ph-contact-layout > .wp-block-group { width:100%!important; max-width:none!important; min-width:0!important; margin:0!important; }
.ph-main .ph-footer, .ph-main .ph-dashboard { min-width:0; }
.ph-dashboard { width:100%; }
.ph-dashboard .ph-dash-top > span:nth-child(2) { text-align:center; }
.ph-dashboard .ph-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ph-dashboard .ph-stat { min-width:0; }
/* WordPress sometimes applies large auto margins to group children. */
.ph-main .ph-hero .ph-hero-text > :where(h1,p,.wp-block-buttons),
.ph-main .ph-section > :where(h2,h3,p),
.ph-main .ph-card > :where(h3,p) { margin-left:0!important; margin-right:0!important; }
@media (max-width:1020px) {
  .ph-main .wp-block-group.ph-hero { gap:35px!important; padding-inline:30px!important; }
  .ph-main .ph-hero h1 { font-size:clamp(2.6rem,5vw,3.8rem); }
  .ph-main .wp-block-group.ph-grid,.ph-main .wp-block-group.ph-insights-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media (max-width:790px) {
  .ph-main > .wp-block-group.ph-hero,.ph-main .wp-block-group.ph-hero {
    flex-flow:column nowrap!important; gap:38px!important;
    padding:64px 24px!important; min-height:0;
  }
  .ph-main .wp-block-group.ph-hero > .wp-block-group.ph-hero-text,
  .ph-main .wp-block-group.ph-hero > .wp-block-group.ph-hero-chart {
    flex:0 1 auto!important; width:100%!important; max-width:640px!important;
    margin:0 auto!important; align-self:center!important;
  }
  .ph-main .wp-block-group.ph-hero h1 { font-size:clamp(2.5rem,7vw,3.8rem); }
  .ph-main .wp-block-group.ph-section,
  .ph-main .wp-block-group.ph-page-hero,
  .ph-main .wp-block-group.ph-trust {padding-inline:24px!important;}
  .ph-main .ph-contact-layout {grid-template-columns:minmax(0,1fr)!important;}
}
@media (max-width:550px) {
  .ph-main > .wp-block-group.ph-hero,.ph-main .wp-block-group.ph-hero {padding:50px 19px!important;gap:30px!important;}
  .ph-main .wp-block-group.ph-section,.ph-main .wp-block-group.ph-page-hero,.ph-main .wp-block-group.ph-trust {padding-inline:19px!important;}
  .ph-main .wp-block-group.ph-grid,.ph-main .wp-block-group.ph-insights-grid {grid-template-columns:minmax(0,1fr)!important;gap:15px!important;}
  .ph-main .wp-block-group.ph-hero .wp-block-buttons {display:flex!important;width:100%!important;margin:12px 0 0!important;}
  .ph-main .wp-block-group.ph-hero .wp-block-button, .ph-main .wp-block-group.ph-hero .wp-block-button__link {width:100%!important;}
  .ph-main .wp-block-group.ph-hero h1 {font-size:clamp(2.35rem,10vw,3.3rem);}
  .ph-dashboard .ph-stat strong {font-size:1.35rem;}
}
