/* Santa Maria DOC — instalação PWA na Home */
.sm-app-section{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);
  gap:42px;
  align-items:center;
  margin:34px 0 0;
  padding:38px 46px;
  border-radius:28px;
  color:#fff;
  background:
    radial-gradient(circle at 12% 18%,rgba(255,255,255,.17),transparent 31%),
    linear-gradient(130deg,#075b46 0%,#08745a 48%,#106f8a 100%);
  box-shadow:0 22px 50px rgba(6,74,58,.18)
}
.sm-app-section:after{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  right:-100px;
  bottom:-150px;
  border-radius:50%;
  background:rgba(240,189,53,.22)
}
.sm-app-visual,.sm-app-copy{position:relative;z-index:1}
.sm-app-visual{display:flex;justify-content:center}
.sm-phone-shell{
  width:178px;
  padding:10px;
  border-radius:32px;
  background:#0b2420;
  border:2px solid rgba(255,255,255,.3);
  box-shadow:0 20px 38px rgba(0,0,0,.27);
  transform:rotate(-3deg)
}
.sm-phone-speaker{width:48px;height:5px;margin:2px auto 9px;border-radius:999px;background:#526b66}
.sm-phone-screen{
  min-height:275px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:20px 13px;
  text-align:center;
  border-radius:23px;
  color:#123d34;
  background:linear-gradient(150deg,#fff,#edf7f4)
}
.sm-phone-screen img{border-radius:22px;box-shadow:0 9px 22px rgba(7,91,70,.2)}
.sm-phone-screen strong{font-size:18px}
.sm-phone-screen span{font-size:11px;color:#607a74}
.sm-phone-lines{display:grid;gap:7px;width:100%;margin-top:17px}
.sm-phone-lines i{display:block;height:8px;border-radius:999px;background:#d8e9e4}
.sm-phone-lines i:nth-child(2){width:78%}.sm-phone-lines i:nth-child(3){width:58%}
.sm-app-copy .sm-eyebrow{color:#bfeee0}
.sm-app-copy h2{max-width:700px;margin:11px 0 12px;font-size:38px;line-height:1.08;letter-spacing:-.035em;color:#fff}
.sm-app-copy>p{max-width:720px;margin:0;color:#d9eee8;font-size:17px;line-height:1.56}
.sm-app-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:23px}
.sm-store-button{
  min-width:205px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 16px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:14px;
  color:#fff;
  background:#102c28;
  box-shadow:0 8px 20px rgba(0,0,0,.16);
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease
}
.sm-store-button:hover{transform:translateY(-2px);background:#173b35;box-shadow:0 12px 24px rgba(0,0,0,.22)}
.sm-store-button:focus-visible{outline:3px solid #f0bd35;outline-offset:3px}
.sm-store-button[disabled]{cursor:default;opacity:.82;transform:none}
.sm-store-button>span:last-child{display:grid;text-align:left;line-height:1.05}
.sm-store-button small{font-size:10px;letter-spacing:.02em;color:#cbdad6}
.sm-store-button strong{font-size:17px;margin-top:3px}
.sm-store-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.11);font-size:17px}
.sm-store-android .sm-store-icon{color:#8ed04d}
.sm-store-apple{font-size:0}
.sm-store-apple:before{content:"";font-family:Arial,sans-serif;font-size:25px;color:#fff}
.sm-app-status{margin-top:14px;font-size:12px;color:#cce9e1}
.sm-pwa-modal[hidden]{display:none!important}
.sm-pwa-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px}
.sm-pwa-modal-backdrop{position:absolute;inset:0;background:rgba(2,25,20,.72);backdrop-filter:blur(4px)}
.sm-pwa-dialog{
  position:relative;
  z-index:1;
  width:min(520px,100%);
  max-height:calc(100dvh - 36px);
  overflow:auto;
  padding:30px;
  border-radius:24px;
  color:#173c34;
  background:#fff;
  box-shadow:0 30px 80px rgba(0,0,0,.3)
}
.sm-pwa-dialog:focus{outline:none}
.sm-pwa-close{
  position:absolute;
  top:11px;
  right:12px;
  width:36px;
  height:36px;
  border:0;
  border-radius:50%;
  color:#355e55;
  background:#edf5f2;
  font-size:24px;
  cursor:pointer
}
.sm-pwa-dialog-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:#e0f3ec;font-size:26px}
.sm-pwa-dialog h2{margin:16px 0 9px;font-size:25px;color:#0c4d3c}
.sm-pwa-dialog p{margin:0 0 14px;color:#526f68;line-height:1.5}
.sm-pwa-dialog ol{display:grid;gap:10px;margin:0;padding-left:22px;color:#294f47}
.sm-pwa-dialog li{padding-left:4px;line-height:1.45}
.sm-pwa-confirm{width:100%;margin-top:22px;justify-content:center}
body.sm-pwa-modal-open{overflow:hidden}
@media(max-width:900px){
  .sm-app-section{grid-template-columns:210px minmax(0,1fr);gap:28px;padding:32px}
  .sm-app-copy h2{font-size:32px}
}
@media(max-width:650px){
  .sm-app-section{grid-template-columns:1fr;gap:19px;margin-top:20px;padding:24px 19px;border-radius:23px}
  .sm-app-visual{display:none}
  .sm-app-copy h2{font-size:28px;margin-top:8px}
  .sm-app-copy>p{font-size:15px}
  .sm-app-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:18px}
  .sm-store-button{width:100%;min-width:0;justify-content:flex-start;padding:9px 13px}
  .sm-app-status{font-size:11px;line-height:1.35}
  .sm-pwa-modal{align-items:end;padding:0}
  .sm-pwa-dialog{width:100%;max-height:88dvh;padding:25px 20px calc(22px + env(safe-area-inset-bottom));border-radius:23px 23px 0 0}
  .sm-pwa-dialog h2{font-size:22px;padding-right:28px}
  .sm-public-header .public-nav a[href*="#baixar-app"]{background:#e4f3ee;color:#075b46;font-weight:800}
}
@media print{.sm-app-section,.sm-pwa-modal{display:none!important}}
