.ah365sp-overlay{position:fixed;inset:0;background:rgba(10,10,12,0.72);z-index:99998;display:none;align-items:center;justify-content:center;padding:1.2rem;}
.ah365sp-overlay.open{display:flex;}
.ah365sp-modal{position:relative;background:#17171b;color:#f4f1ea;width:100%;max-width:460px;border-radius:16px;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;box-shadow:0 30px 80px rgba(0,0,0,0.5);max-height:90vh;overflow-y:auto;}
.ah365sp-close{position:absolute;top:0.9rem;right:1rem;background:none;border:none;color:#8c8b93;font-size:1.6rem;line-height:1;cursor:pointer;}
.ah365sp-close:hover{color:#fff;}
.ah365sp-eyebrow{font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--ah365sp-accent,#c7192c);font-weight:700;margin:0 0 0.6rem;}
.ah365sp-title{font-size:1.4rem;margin:0 0 0.6rem;line-height:1.2;}
.ah365sp-service-meta{display:flex;gap:0.6rem;flex-wrap:wrap;margin-bottom:0.5rem;}
.ah365sp-service-meta:empty{display:none;}
.ah365sp-price{background:rgba(199,25,44,0.15);color:var(--ah365sp-accent,#c7192c);padding:0.25rem 0.7rem;border-radius:999px;font-size:0.78rem;font-weight:700;}
.ah365sp-price:empty{display:none;}
.ah365sp-category{background:rgba(244,241,234,0.08);color:#c5c4cb;padding:0.25rem 0.7rem;border-radius:999px;font-size:0.78rem;}
.ah365sp-category:empty{display:none;}
.ah365sp-service-desc{font-size:0.85rem;color:#a9a8b0;margin:0 0 1rem;}
.ah365sp-service-desc:empty{display:none;margin:0;}
.ah365sp-sub{font-size:0.85rem;color:#8c8b93;margin:0 0 1.4rem;}
.ah365sp-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;}
.ah365sp-field{display:flex;flex-direction:column;gap:0.4rem;font-size:0.8rem;color:#8c8b93;margin-bottom:0.9rem;}
.ah365sp-row{display:grid;grid-template-columns:1fr 1fr;gap:0.9rem;}
.ah365sp-field input,.ah365sp-field textarea{background:rgba(244,241,234,0.06);border:1px solid rgba(244,241,234,0.14);border-radius:8px;padding:0.7rem 0.8rem;color:#f4f1ea;font-size:0.9rem;font-family:inherit;}
.ah365sp-field input:focus,.ah365sp-field textarea:focus{outline:none;border-color:var(--ah365sp-accent,#c7192c);}
.ah365sp-field textarea{resize:vertical;}
.ah365sp-error{color:#e5606f;font-size:0.72rem;min-height:1em;display:block;}
.ah365sp-submit{width:100%;background:linear-gradient(120deg,var(--ah365sp-primary,#8e111d),var(--ah365sp-accent,#c7192c));color:#fff;border:none;padding:0.85rem;border-radius:10px;font-weight:700;font-size:0.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:0.6rem;margin-top:0.3rem;}
.ah365sp-submit[disabled]{opacity:0.7;cursor:default;}
.ah365sp-spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,0.4);border-top-color:#fff;display:none;animation:ah365spSpin 0.7s linear infinite;}
.ah365sp-submit.loading .ah365sp-spinner{display:inline-block;}
@keyframes ah365spSpin{to{transform:rotate(360deg);}}
.ah365sp-success{color:#8ed1a5;font-size:0.85rem;margin-top:0.9rem;display:none;}
.ah365sp-success.show{display:block;}
.ah365sp-fail{color:#e5606f;font-size:0.85rem;margin-top:0.9rem;display:none;}
.ah365sp-fail.show{display:block;}
body.ah365sp-locked{overflow:hidden;}

/* Service Grid widget */
.ah365sp-grid{display:grid;gap:1.2rem;grid-template-columns:repeat(3,1fr);}
.ah365sp-grid-cols-2{grid-template-columns:repeat(2,1fr);}
.ah365sp-grid-cols-3{grid-template-columns:repeat(3,1fr);}
.ah365sp-grid-cols-4{grid-template-columns:repeat(4,1fr);}
.ah365sp-grid-card{background:#1b1b21;color:#f4f1ea;border-radius:14px;padding:1.5rem;display:flex;flex-direction:column;gap:0.5rem;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;}
.ah365sp-grid-icon{width:36px;height:36px;object-fit:contain;margin-bottom:0.3rem;}
.ah365sp-grid-cat{align-self:flex-start;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.08em;background:rgba(244,241,234,0.08);color:#c5c4cb;padding:0.2rem 0.6rem;border-radius:999px;}
.ah365sp-grid-title{font-size:1.1rem;margin:0.2rem 0 0;}
.ah365sp-grid-price{font-size:0.85rem;font-weight:700;color:var(--ah365sp-accent,#c7192c);}
.ah365sp-grid-desc{font-size:0.85rem;color:#a9a8b0;margin:0;flex-grow:1;}
.ah365sp-grid-btn{margin-top:0.6rem;background:var(--ah365sp-accent,#c7192c);color:#fff;border:none;padding:0.7rem 1rem;border-radius:8px;font-weight:700;font-size:0.85rem;cursor:pointer;}
@media (max-width:900px){.ah365sp-grid-cols-3,.ah365sp-grid-cols-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.ah365sp-grid{grid-template-columns:1fr !important;}}
