/* PWA controls use the landing page's type, colour and spacing tokens. */
[data-pwa-promotion][hidden], [id^="pwa"][hidden], .pwa-dialog [hidden] { display:none !important; }
.pwa-entry { margin:0; min-height:100dvh; display:grid; place-items:center; padding:24px; box-sizing:border-box; background:#fffaf4; color:var(--fg,#171717); font-family:var(--font-sans,Inter,Helvetica,Arial,sans-serif); }
.pwa-entry-card { box-sizing:border-box; width:min(100%,440px); background:#fff; padding:32px; border:1px solid var(--border,#ECE5DE); border-radius:24px; box-shadow:var(--shadow-lg,0 26px 70px rgba(17,17,17,.12)); }
.pwa-entry-card h1 { font-size:25px; letter-spacing:-.03em; }
.pwa-entry-card p, .pwa-dialog p { line-height:1.5; color:var(--muted,#6B7280); }
.pwa-mark { display:grid; place-items:center; width:54px; height:54px; border-radius:16px; background:var(--primary,#ff8b18); font-size:32px; color:#fff; }
.pwa-button { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; gap:8px; border:0; border-radius:12px; background:var(--primary,#ff8b18); color:#fff; min-height:46px; padding:12px 20px; font:600 14px/1.5 var(--font-sans,Inter,Helvetica,Arial,sans-serif); text-align:center; text-decoration:none; cursor:pointer; box-shadow:0 10px 25px rgba(255,139,24,.18); transition:background-color .18s ease,box-shadow .18s ease; }
.pwa-button:hover { background:var(--primary,#ff8b18); color:#fff; box-shadow:0 4px 14px rgba(255,139,24,.28); }
.pwa-button:focus-visible, [data-pwa-install]:focus-visible { outline:3px solid #944400; outline-offset:3px; }
.pwa-button:disabled { opacity:.6; cursor:wait; }
.pwa-dialog { box-sizing:border-box; width:min(440px,calc(100% - 32px)); max-width:calc(100% - 32px); max-height:calc(100dvh - 32px); margin:auto; padding:32px; border:1px solid var(--border,#ECE5DE); border-radius:24px; background:#fff; color:var(--fg,#171717); font-family:var(--font-sans,Inter,Helvetica,Arial,sans-serif); font-size:14px; line-height:1.5; box-shadow:var(--shadow-lg,0 26px 70px rgba(17,17,17,.12)); overflow:auto; overflow-wrap:break-word; }
.pwa-dialog::backdrop { background:rgba(23,23,23,.45); backdrop-filter:blur(5px); }
.pwa-dialog h2 { margin:20px 0 10px; font-size:25px; font-weight:700; line-height:1.2; letter-spacing:-.03em; }
.pwa-dialog h2:focus { outline:none; }
.pwa-dialog p { margin:0; }
.pwa-dialog-actions { display:grid; gap:10px; margin-top:24px; }
.pwa-dialog-actions .pwa-button { width:100%; min-width:0; }
.pwa-dialog #pwaOpenHint { margin-top:16px; font-size:12px; }
.pwa-install-dialog-open body { overflow:hidden; }
.pwa-progress { overflow:hidden; height:8px; margin:24px 0 0; border-radius:999px; background:var(--primary-soft,#FFF1E3); }
.pwa-progress span { display:block; height:100%; width:var(--pwa-progress,0%); border-radius:inherit; background:var(--primary,#ff8b18); transition:width .3s linear; }
.pwa-progress.is-complete span { width:100%; }
.pwa-entry .pwa-progress span { width:38%; animation:pwa-entry-wait 1.5s ease-in-out infinite; }
@keyframes pwa-entry-wait { from { transform:translateX(-110%); } to { transform:translateX(280%); } }
.pwa-sticky { box-sizing:border-box; position:fixed; z-index:120; left:12px; right:12px; bottom:max(12px,env(safe-area-inset-bottom)); display:grid; grid-template-columns:minmax(0,1fr); align-items:center; gap:12px; padding:14px; border:0; border-radius:18px; background:rgba(23,23,23,.96); color:#fff; box-shadow:0 18px 42px rgba(0,0,0,.24); backdrop-filter:blur(10px); font-family:var(--font-sans,Inter,Helvetica,Arial,sans-serif); }
.pwa-sticky-copy { min-width:0; }
.pwa-sticky strong { display:block; font-size:14px; font-weight:700; line-height:1.4; }
.pwa-sticky small { display:block; margin-top:4px; color:#e5e7eb; font-size:12px; line-height:1.5; }
.pwa-sticky .pwa-button { width:100%; min-width:0; padding:12px 18px; white-space:nowrap; }
.pwa-suppress-apply #mobileBottomCta { display:none!important; }
.navlinks button[data-pwa-install], .mobile-menu button[data-pwa-install], .footer-col button[data-pwa-install] { border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; text-align:left; padding:0; }
.navlinks button[data-pwa-install]:hover { color:var(--primary,#ff8b18); }
.navlinks button[data-pwa-install], .footer-col button[data-pwa-install] { text-underline-offset:4px; }
.navlinks button[data-pwa-install]:hover, .footer-col button[data-pwa-install]:hover { text-decoration:underline; }
.mobile-menu button[data-pwa-install] { display:flex; align-items:center; justify-content:flex-start; width:100%; min-height:44px; padding:0 4px; font-size:14px; font-weight:600; }
.footer-col button[data-pwa-install] { display:block; margin:7px 0; color:#B7B7B7; font-size:12px; line-height:1.7; }
.pwa-legal-return { display:block; margin:24px auto; max-width:1120px; padding:0 20px; }
.pwa-save-warning { margin:0; padding:16px 24px; background:#fff0dd; color:#6a3300; font:600 15px/1.5 var(--font-sans,Inter,Helvetica,Arial,sans-serif); }
html[data-pwa="true"] .site-header .nav { justify-content:space-between; }
/* One column on phones also accommodates the longer Tagalog translations. */
@media(min-width:480px) { .pwa-sticky { grid-template-columns:minmax(0,1fr) auto; gap:16px; } }
@media(min-width:640px) { .pwa-sticky { max-width:560px; left:50%; right:auto; width:calc(100% - 24px); transform:translateX(-50%); } }
@media(max-width:479px) {
  .pwa-dialog { padding:24px; border-radius:22px; }
  .pwa-dialog h2 { font-size:22px; }
  #mobileBottomCta { flex-direction:column; align-items:stretch; gap:12px; }
  #mobileBottomCta strong { max-width:none; }
  #mobileBottomCta .btn { width:100%; min-width:0; }
}
@media(prefers-reduced-motion:reduce) { .pwa-progress span, .pwa-button { transition:none; } .pwa-entry .pwa-progress span { animation:none; } }
.pwa-diagnostics { position:fixed; z-index:10000; bottom:8px; left:8px; max-width:calc(100vw - 32px); max-height:45vh; overflow:auto; margin:0; padding:12px; background:#171717; color:#fff; border-radius:10px; font:12px/1.4 monospace; }
