/* Pergola Master AI — Luxury Widget Theme */
#pmai-root{font-family:Inter,"Avenir Next",Avenir,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;position:relative;z-index:999990;color:#f8f5ef;--pmai-ink:#111311;--pmai-ink-soft:#1b1d1a;--pmai-gold:#c9a66a;--pmai-gold-light:#f0d9a7;--pmai-cream:#f8f6f0;--pmai-muted:#a9a69d}
#pmai-root *{box-sizing:border-box}
#pmai-root button,#pmai-root input,#pmai-root select{font-family:inherit}
.pmai-launcher{position:fixed;right:24px;bottom:24px;z-index:999990;border:1px solid rgba(231,202,145,.55);border-radius:999px;padding:9px 19px 9px 9px;background:linear-gradient(135deg,#222520 0%,#10110f 100%);color:#fbf7ee;display:flex;align-items:center;gap:12px;font-size:12px;font-weight:650;letter-spacing:.045em;box-shadow:0 12px 36px rgba(0,0,0,.28),0 0 0 4px rgba(201,166,106,.07);cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.pmai-launcher:hover{transform:translateY(-3px);border-color:var(--pmai-gold-light);box-shadow:0 18px 46px rgba(0,0,0,.34),0 0 24px rgba(201,166,106,.16)}
.pmai-launch-avatar-wrap{position:relative;display:block;width:48px;height:48px;flex:0 0 48px;border-radius:50%;padding:2px;background:linear-gradient(145deg,#f5dca4,#a87935);box-shadow:0 0 0 3px rgba(201,166,106,.12),0 4px 15px rgba(0,0,0,.28);animation:pmai-avatar-float 3.8s ease-in-out infinite}
.pmai-launch-avatar{display:block;width:100%;height:100%;object-fit:cover;object-position:center 32%;border-radius:50%;border:1px solid rgba(255,255,255,.22)}
.pmai-wave{position:absolute;right:-5px;top:-7px;font-size:17px;line-height:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.45));transform-origin:70% 80%;animation:pmai-wave-hello 1.15s ease-in-out 3.5s 3}
.pmai-online-dot{position:absolute;right:0;bottom:0;width:11px;height:11px;border-radius:50%;background:#83c77f;border:2px solid #171915;box-shadow:0 0 0 3px rgba(131,199,127,.12)}
.pmai-launch-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px;white-space:nowrap}
.pmai-launch-copy strong{font-size:12px;font-weight:750;letter-spacing:.025em}
.pmai-launch-copy small{font-size:10px;color:#d2c4a8;font-weight:500;letter-spacing:.025em}
.pmai-launch-arrow{display:grid;place-items:center;width:29px;height:29px;margin-left:2px;border-radius:50%;background:linear-gradient(145deg,#f0d9a7,#b38a4d);color:#171711;font-size:17px;transition:transform .2s}
.pmai-launcher:hover .pmai-launch-arrow{transform:translate(2px,-2px)}
@keyframes pmai-avatar-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes pmai-wave-hello{0%,100%{transform:rotate(0)}20%{transform:rotate(18deg)}40%{transform:rotate(-12deg)}60%{transform:rotate(18deg)}80%{transform:rotate(-6deg)}}
.pmai-launcher:before{content:"Kia ora! Need a quote?";position:absolute;right:6px;bottom:calc(100% + 13px);padding:10px 13px;border:1px solid rgba(231,202,145,.6);border-radius:13px 13px 3px 13px;background:linear-gradient(135deg,#292b25,#111310);color:#f7e9cc;font-size:11px;font-weight:650;letter-spacing:.015em;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;pointer-events:none;animation:pmai-greeting 5s ease 1.2s 1}
@keyframes pmai-greeting{0%,12%{opacity:0;transform:translateY(5px)}22%,72%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-3px)}}
.pmai-panel{position:fixed;right:22px;bottom:22px;width:min(400px,calc(100vw - 28px));height:min(680px,calc(100dvh - 44px));z-index:999991;background:var(--pmai-cream);border:1px solid rgba(201,166,106,.6);border-radius:22px;overflow:hidden;box-shadow:0 28px 90px rgba(0,0,0,.34),0 0 0 5px rgba(201,166,106,.07);display:flex;flex-direction:column;color:#22231f;animation:pmai-rise .28s ease-out}
@keyframes pmai-rise{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.pmai-panel[hidden],.pmai-launcher[hidden],.pmai-lead-form[hidden]{display:none!important}
.pmai-header{display:flex;align-items:center;gap:12px;padding:18px 17px;background:radial-gradient(ellipse at 85% 0%,rgba(201,166,106,.19),transparent 48%),linear-gradient(135deg,#242720 0%,#111310 72%);color:white;min-height:88px;border-bottom:1px solid rgba(201,166,106,.5);position:relative}
.pmai-header:after{content:"";position:absolute;bottom:0;left:17px;right:17px;height:1px;background:linear-gradient(90deg,transparent,rgba(240,217,167,.62),transparent)}
.pmai-avatar{position:relative;width:52px;height:52px;border:1px solid rgba(240,217,167,.72);border-radius:50%;background:linear-gradient(145deg,#f0d9a7,#b18b4e);display:block;flex-shrink:0;box-shadow:0 3px 14px rgba(0,0,0,.22);overflow:visible}.pmai-avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%;border-radius:50%;border:2px solid #25251f}.pmai-avatar .pmai-online-dot{right:-1px;bottom:0;width:12px;height:12px}
.pmai-headcopy{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}
.pmai-headcopy strong{font-family:Georgia,"Times New Roman",serif;font-size:11px;line-height:1.4;letter-spacing:.105em;font-weight:600;color:#f7e9cc}
.pmai-headcopy span{font-size:11px;color:#d0cec5;letter-spacing:.015em}
.pmai-headcopy i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#8fbd8d;margin-right:5px;box-shadow:0 0 0 3px rgba(143,189,141,.12)}
.pmai-close{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#f6ead2;font-size:23px;line-height:1;cursor:pointer;padding:5px 8px;border-radius:50%;transition:background .2s,border-color .2s}
.pmai-close:hover{background:rgba(201,166,106,.17);border-color:rgba(201,166,106,.55)}
.pmai-messages{padding:18px 15px 14px;display:flex;flex-direction:column;gap:12px;overflow:auto;flex:1;min-height:100px;background:radial-gradient(ellipse at 0% 0%,rgba(201,166,106,.07),transparent 36%),#f8f6f0;scrollbar-width:thin;scrollbar-color:#c9bda7 transparent}
.pmai-message{max-width:89%;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px;padding:12px 14px;font-size:12.5px;line-height:1.65;box-shadow:0 3px 10px rgba(32,29,22,.035)}
.pmai-assistant{align-self:flex-start;background:#fff;color:#34352f;border:1px solid #e9e3d8;border-bottom-left-radius:5px}
.pmai-user{align-self:flex-end;background:linear-gradient(145deg,#2a2d26,#171915);color:#fbf7ee;border:1px solid rgba(201,166,106,.28);border-bottom-right-radius:5px}
.pmai-typing{color:#8d7958;font-style:italic}
.pmai-quick{display:flex;gap:7px;overflow-x:auto;padding:8px 13px 12px;background:#f8f6f0;scrollbar-width:thin;scrollbar-color:#d3c5aa transparent}
.pmai-quick button{flex:0 0 auto;border:1px solid #ded4c2;background:rgba(255,255,255,.78);border-radius:999px;padding:8px 11px;font-size:10.5px;font-weight:600;letter-spacing:.015em;color:#454238;cursor:pointer;transition:all .2s}
.pmai-quick button:hover{border-color:#b18b4e;background:#f5ecd9;color:#181914;transform:translateY(-1px)}
.pmai-form{display:flex;align-items:center;gap:7px;padding:12px 12px 10px;border-top:1px solid #e8e0d3;background:#fff}
.pmai-form input,.pmai-lead-form input,.pmai-lead-form select{min-width:0;width:100%;border:1px solid #ded8cc;border-radius:10px;background:#fff;padding:11px 10px;color:#171915;font:inherit;font-size:12px;transition:border-color .2s,box-shadow .2s}
.pmai-form input{border:1px solid transparent;outline:none;padding:11px 8px;background:#f8f6f1;border-radius:11px}
.pmai-form input:focus,.pmai-lead-form input:focus,.pmai-lead-form select:focus{border-color:#c9a66a;box-shadow:0 0 0 3px rgba(201,166,106,.13);outline:none}
.pmai-form input::placeholder,.pmai-lead-form input::placeholder{color:#9a978e}
.pmai-form button:not(.pmai-attach){width:39px;height:39px;border:1px solid #b28a4c;border-radius:12px;background:linear-gradient(145deg,#e6c98e,#bd9657);color:#171711;font-size:17px;cursor:pointer;flex-shrink:0;box-shadow:0 3px 8px rgba(120,88,39,.14);transition:transform .2s,filter .2s}
.pmai-form button:not(.pmai-attach):hover{filter:brightness(1.04);transform:translateY(-1px)}
.pmai-form button:disabled{opacity:.5;cursor:wait}
.pmai-attach{width:38px;height:39px;border:1px solid #e2d8c6;border-radius:12px;background:#f8f5ed;color:#5b4b32;font-size:23px;line-height:1;cursor:pointer;flex-shrink:0;transition:background .2s,border-color .2s}
.pmai-attach:hover{background:#f1e5ce;border-color:#c9a66a}.pmai-attach:disabled{opacity:.5}
.pmai-upload-note{font-size:9px;letter-spacing:.015em;color:#9a9589;background:#fff;padding:0 13px 10px}
.pmai-uploaded-image{display:block;max-width:230px;max-height:190px;object-fit:contain;border-radius:10px;margin-top:8px;border:1px solid rgba(201,166,106,.25)}
.pmai-message:has(.pmai-uploaded-image){padding:9px}
.pmai-lead-toggle{border:0;border-top:1px solid rgba(201,166,106,.4);background:linear-gradient(90deg,#282a24,#171915);color:#f0d9a7;padding:13px 12px;font-size:11px;font-weight:650;letter-spacing:.035em;cursor:pointer;transition:background .2s}
.pmai-lead-toggle:hover{background:linear-gradient(90deg,#37372e,#22231e)}
.pmai-lead-form{padding:13px;display:flex;flex-direction:column;gap:9px;max-height:48%;overflow:auto;background:#fdfcf9;border-top:1px solid #e8e0d3}
.pmai-lead-title{font-family:Georgia,"Times New Roman",serif;font-size:15px;font-weight:600;color:#292a24;padding-bottom:2px}
.pmai-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pmai-consent{display:flex;align-items:flex-start;gap:7px;font-size:10px;line-height:1.5;color:#66645c}
.pmai-consent input{width:auto;margin-top:2px;accent-color:#b18b4e}
.pmai-submit{border:1px solid #a98247;border-radius:10px;background:linear-gradient(145deg,#292b25,#111310);color:#f4dfb4;padding:12px;font-size:11px;font-weight:700;letter-spacing:.035em;cursor:pointer;transition:transform .2s,border-color .2s}
.pmai-submit:hover{transform:translateY(-1px);border-color:#d7b879}
.pmai-form-note{margin:0;font-size:10px;color:#89867d;line-height:1.4}
.pmai-success{font-size:12px;line-height:1.6;color:#245d3c;background:#edf5eb;border:1px solid #d7e7d3;border-radius:10px;padding:12px}
.pmai-footer{text-align:center;padding:9px 7px;background:#f4f1e9;color:#a29a8b;font-size:9px;letter-spacing:.09em;text-transform:uppercase;border-top:1px solid #ebe4d8}
@media(max-width:480px){.pmai-launcher{right:14px;bottom:14px;padding:7px 12px 7px 7px;gap:9px}.pmai-launch-avatar-wrap{width:42px;height:42px;flex-basis:42px}.pmai-launch-copy strong{font-size:11px}.pmai-launch-copy small{font-size:9px}.pmai-launch-arrow{width:25px;height:25px}.pmai-panel{right:8px;bottom:8px;width:calc(100vw - 16px);height:min(720px,calc(100dvh - 16px));border-radius:18px}.pmai-header{padding:14px;min-height:80px}.pmai-headcopy strong{font-size:10px}.pmai-messages{padding:14px 12px}.pmai-message{font-size:12px}.pmai-lead-form{max-height:45%}}
@media(prefers-reduced-motion:reduce){.pmai-panel{animation:none}#pmai-root *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.pmai-launcher:before{display:none}}

/* v1.8.1 compatibility fix: isolate widget header/controls from theme and Elementor global styles */
#pmai-root .pmai-panel { isolation:isolate; }
#pmai-root .pmai-header {
  display:flex !important; visibility:visible !important; opacity:1 !important;
  position:relative !important; flex:0 0 auto !important; width:100% !important;
  min-height:88px !important; height:auto !important; overflow:visible !important;
  align-items:center !important; box-sizing:border-box !important;
}
#pmai-root .pmai-header .pmai-avatar { display:grid !important; visibility:visible !important; flex:0 0 44px !important; }
#pmai-root .pmai-header .pmai-headcopy { display:flex !important; visibility:visible !important; opacity:1 !important; flex:1 1 auto !important; }
#pmai-root .pmai-header .pmai-headcopy strong,
#pmai-root .pmai-header .pmai-headcopy span { display:block !important; visibility:visible !important; opacity:1 !important; }
#pmai-root .pmai-header .pmai-close {
  display:flex !important; visibility:visible !important; opacity:1 !important;
  position:relative !important; z-index:5 !important; flex:0 0 36px !important;
  width:36px !important; height:36px !important; align-items:center !important;
  justify-content:center !important; margin-left:auto !important; padding:0 !important;
  pointer-events:auto !important; cursor:pointer !important; line-height:1 !important;
}
#pmai-root .pmai-panel[hidden], #pmai-root .pmai-launcher[hidden] { display:none !important; }
@media(max-width:480px){#pmai-root .pmai-header{min-height:80px !important;}}

/* v1.8.2: Hugo installer avatar, right-side launcher and greeting motion */
#pmai-root .pmai-launcher { left:auto !important; right:24px !important; bottom:24px !important; }
#pmai-root .pmai-panel { left:auto !important; right:22px !important; bottom:22px !important; }
#pmai-root .pmai-launcher .pmai-launch-avatar-wrap { display:block !important; visibility:visible !important; }
#pmai-root .pmai-launcher .pmai-launch-copy { display:flex !important; visibility:visible !important; }
@media(max-width:480px){#pmai-root .pmai-launcher{right:14px !important;bottom:14px !important;left:auto !important}#pmai-root .pmai-panel{right:8px !important;bottom:8px !important;left:auto !important}}

/* v1.8.3: mobile input zoom and keyboard responsiveness */
@media (max-width: 767px) {
  #pmai-root .pmai-form input,
  #pmai-root .pmai-lead-form input,
  #pmai-root .pmai-lead-form select {
    font-size: 16px !important;
    line-height: 1.35;
  }
  #pmai-root .pmai-form { gap: 6px; padding: 10px 9px 8px; }
  #pmai-root .pmai-form input { min-height: 42px; padding: 10px 9px; }
  #pmai-root .pmai-attach,
  #pmai-root .pmai-form button:not(.pmai-attach) { min-width: 40px; min-height: 42px; }
  #pmai-root .pmai-panel { max-height: calc(100dvh - 16px); }
}
@supports (-webkit-touch-callout: none) {
  @media (max-width: 767px) {
    #pmai-root .pmai-form input,
    #pmai-root .pmai-lead-form input,
    #pmai-root .pmai-lead-form select { font-size: 16px !important; }
  }
}
