.ptaq-app,.ptaq-public-wrap,.ptaq-result-modal{
  --ptaq-ink:#172033;
  --ptaq-muted:#667085;
  --ptaq-line:#e7ebf1;
  --ptaq-soft:#f7f9fc;
  --ptaq-accent:#2166e8;
  --ptaq-accent-dark:#1249ad;
  --ptaq-card:#ffffff;
  --ptaq-sticky-top:24px;
  color:var(--ptaq-ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang TC","Microsoft JhengHei",Arial,sans-serif;
  box-sizing:border-box;
}
.ptaq-app,.ptaq-app *{box-sizing:border-box}
.ptaq-app button,.ptaq-app input,.ptaq-app select,.ptaq-app textarea{font-family:inherit}
.ptaq-layout-host{overflow:visible!important}

/* Header */
.ptaq-app__header{margin:0 0 34px}
.ptaq-eyebrow,.ptaq-estimate__eyebrow{display:block;font-size:11px;line-height:1.2;letter-spacing:.16em;font-weight:800;color:var(--ptaq-accent);text-transform:uppercase}
.ptaq-app__header h2{margin:10px 0 12px;font-size:38px;line-height:1.15;letter-spacing:-.025em;color:var(--ptaq-ink)}
.ptaq-app__header p{max-width:900px;margin:0;color:var(--ptaq-muted);font-size:15px;line-height:1.75}

/* Main workspace */
.ptaq-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:36px;align-items:start;overflow:visible!important}
.ptaq-main,.ptaq-side{min-width:0;overflow:visible!important}
.ptaq-side{position:relative;align-self:stretch}

/* Form cards */
.ptaq-section{background:var(--ptaq-card);border:1px solid var(--ptaq-line);border-radius:22px;padding:32px 34px;margin:0 0 22px;box-shadow:0 10px 36px rgba(16,24,40,.045)}
.ptaq-section__head{display:flex;gap:16px;align-items:flex-start;margin:0 0 27px}
.ptaq-section__head>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#eaf1ff;color:var(--ptaq-accent);font-size:12px;font-weight:800}
.ptaq-section__head h3{margin:1px 0 5px;font-size:21px;line-height:1.3;color:var(--ptaq-ink)}
.ptaq-section__head p{margin:0;color:var(--ptaq-muted);font-size:13px;line-height:1.6}
.ptaq-grid{display:grid;gap:20px 22px}
.ptaq-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ptaq-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ptaq-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ptaq-field{display:flex;flex-direction:column;min-width:0;gap:9px;color:#344054;font-size:13.5px;font-weight:650;line-height:1.35}
.ptaq-field>span{display:block;min-height:18px}
.ptaq-field--full{margin-top:22px}
.ptaq-field input,.ptaq-field select,.ptaq-field textarea{
  display:block;width:100%!important;max-width:none!important;min-width:0!important;
  min-height:50px!important;height:auto;border:1px solid #d8dee8!important;border-radius:12px!important;
  background:#fff!important;padding:11px 14px!important;color:#101828!important;font-size:14.5px!important;line-height:1.35!important;
  box-shadow:none!important;outline:none!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.ptaq-field select{padding-right:38px!important;cursor:pointer}
.ptaq-field textarea{min-height:116px!important;resize:vertical;line-height:1.6!important}
.ptaq-field input:focus,.ptaq-field select:focus,.ptaq-field textarea:focus{border-color:#8fb3ff!important;box-shadow:0 0 0 4px rgba(33,102,232,.08)!important;background:#fff!important}
.ptaq-field-hint{display:block;margin-top:1px;color:#8a94a6;font-size:11px;font-weight:500;line-height:1.5}

/* Pet cards */
.ptaq-pet-count{max-width:330px;margin:0 0 22px}
.ptaq-pet{border:1px solid var(--ptaq-line);border-radius:18px;padding:24px;margin-top:18px;background:#fbfcfe}
.ptaq-pet__title{display:flex;align-items:center;gap:11px;padding-bottom:17px;margin-bottom:21px;border-bottom:1px solid var(--ptaq-line)}
.ptaq-pet__title span{font-size:10px;letter-spacing:.13em;color:var(--ptaq-accent);font-weight:800}
.ptaq-pet__title h4{margin:0;font-size:17px;line-height:1.3}
.ptaq-measure{margin-top:24px;padding-top:22px;border-top:1px dashed #d9e0ea}
.ptaq-measure__guide{padding:17px 19px;border-radius:14px;background:#f1f6ff;margin-bottom:19px}
.ptaq-measure__guide strong{font-size:13px}
.ptaq-measure__guide p{margin:6px 0;color:#344054;font-size:12px;line-height:1.55}
.ptaq-measure__guide small{display:block;color:var(--ptaq-muted);line-height:1.6}

/* Services / upload / submit */
.ptaq-services{display:grid;gap:13px}
.ptaq-service{display:grid;grid-template-columns:32px minmax(0,1fr) 88px;gap:15px;align-items:center;border:1px solid var(--ptaq-line);border-radius:15px;padding:17px 18px;background:#fff}
.ptaq-service__check input{position:absolute;opacity:0;pointer-events:none}
.ptaq-service__check span{display:block;width:21px;height:21px;border:1.5px solid #bdc5d2;border-radius:6px;cursor:pointer}
.ptaq-service__check input:checked+span{background:var(--ptaq-accent);border-color:var(--ptaq-accent);box-shadow:inset 0 0 0 4px #fff}
.ptaq-service__body{display:flex;min-width:0;flex-direction:column;gap:4px}
.ptaq-service__body strong{font-size:13.5px;line-height:1.4}
.ptaq-service__body small{color:var(--ptaq-muted);font-size:12px;line-height:1.45}
.ptaq-service__price{font-size:12px;font-weight:800;color:var(--ptaq-accent-dark)}
.ptaq-service__qty input{width:80px!important;min-height:40px!important;border:1px solid #d9dee8!important;border-radius:9px!important;padding:7px 9px!important}
.ptaq-upload{display:block;border:1.5px dashed #c7d1df;border-radius:16px;padding:30px 24px;text-align:center;cursor:pointer;background:#fafbfd}
.ptaq-upload input{display:none}
.ptaq-upload span{display:block;font-weight:750}
.ptaq-upload small{display:block;color:var(--ptaq-muted);margin-top:7px;line-height:1.55}
.ptaq-submitbar{background:#fff;border:1px solid var(--ptaq-line);border-radius:20px;padding:26px 28px;box-shadow:0 10px 36px rgba(16,24,40,.035)}
.ptaq-consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:#475467;margin-bottom:15px;line-height:1.55}
.ptaq-consent input{margin-top:3px}
.ptaq-btn{appearance:none;border:0;border-radius:11px;padding:12px 18px;font-size:14px;font-weight:750;cursor:pointer;transition:.18s ease}
.ptaq-btn--primary{background:var(--ptaq-accent,#2166e8);color:#fff}
.ptaq-btn--primary:hover{background:var(--ptaq-accent-dark,#1249ad);color:#fff}
.ptaq-btn:focus-visible{outline:3px solid #1249ad;outline-offset:3px}
.ptaq-btn--ghost{background:#eef2f7;color:#27364b}
.ptaq-btn:disabled{opacity:.55;cursor:not-allowed}
.ptaq-submitbar .ptaq-btn{width:100%;min-height:54px;font-size:15px}
.ptaq-form-message{margin-top:11px;font-size:13px}
.ptaq-form-message.is-success{color:#067647}.ptaq-form-message.is-error{color:#b42318}

/* Sticky quote panel: CSS sticky only. No fixed-position fallback, avoiding transformed theme conflicts. */
.ptaq-estimate{
  position:sticky!important;top:var(--ptaq-sticky-top)!important;
  width:100%;max-height:calc(100vh - var(--ptaq-sticky-top) - 24px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;
  background:#101828;color:#fff;border-radius:22px;padding:30px 29px;box-shadow:0 24px 64px rgba(16,24,40,.2);z-index:20;
}
.ptaq-estimate__eyebrow{color:#8fb4ff}
.ptaq-estimate h3{font-size:17px;line-height:1.5;margin:11px 0 23px;color:#fff;overflow-wrap:anywhere}
.ptaq-estimate__amount{font-size:42px;line-height:1.06;letter-spacing:-.04em;font-weight:850;margin-bottom:27px;white-space:nowrap}
.ptaq-breakdown{border-top:1px solid rgba(255,255,255,.12);padding-top:15px}
.ptaq-breakdown>div,.ptaq-estimate__payments>div,.ptaq-estimate__meta>div{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:10px 0;font-size:13px;line-height:1.45}
.ptaq-breakdown span,.ptaq-estimate__payments span,.ptaq-estimate__meta span{color:#aeb8c8;min-width:0}
.ptaq-breakdown b,.ptaq-estimate__payments b,.ptaq-estimate__meta b{text-align:right;white-space:nowrap;color:#fff}
.ptaq-estimate__payments{margin-top:15px;padding:12px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.ptaq-estimate__payments b{color:#dce7ff}
.ptaq-estimate__meta{padding-top:11px}
.ptaq-review b{color:#ffd39c}
.ptaq-estimate__note{font-size:11.5px;color:#98a2b3;line-height:1.7;margin:17px 0 0}
.ptaq-manual{background:rgba(255,255,255,.08);padding:13px!important;border-radius:10px;line-height:1.6;color:#d0d5dd}

/* Result / public quote */
.ptaq-result-modal[hidden]{display:none!important}
.ptaq-result-modal{position:fixed;inset:0;z-index:999999;background:rgba(15,23,42,.58);padding:24px;overflow:auto;overscroll-behavior:contain;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.ptaq-result-modal__dialog{width:min(1040px,100%);margin:18px auto 48px;background:#f8fafc;border-radius:18px;box-shadow:0 28px 90px rgba(15,23,42,.28);overflow:hidden;border:1px solid rgba(255,255,255,.5)}
.ptaq-result-modal__topbar{position:sticky;top:0;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;background:rgba(255,255,255,.96);border-bottom:1px solid #e5e7eb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.ptaq-result-modal__topbar>div{display:flex;flex-direction:column;gap:2px}.ptaq-result-modal__topbar strong{font-size:18px;color:#172033}.ptaq-result-modal__eyebrow{font-size:10px;letter-spacing:.14em;font-weight:800;color:#2563eb}
.ptaq-result-modal__message{margin:16px 20px 0;padding:12px 14px;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-size:13px;line-height:1.55}.ptaq-result-modal__message a{font-weight:700;color:#1d4ed8;text-decoration:underline}
.ptaq-result-modal__content{padding:16px 20px 24px}
.ptaq-modal-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:1px solid #d0d5dd;background:#fff;color:#101828;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(15,23,42,.08)}.ptaq-modal-close:hover{background:#f2f4f7}
.ptaq-modal-open{overflow:hidden!important}
.ptaq-public-wrap{max-width:980px;margin:30px auto;padding:0 16px}
.ptaq-standalone-quote-page{margin:0;background:#f5f7fb;color:#172033}.ptaq-standalone-quote-page .ptaq-public-wrap{margin:0 auto;padding:36px 18px 60px}.ptaq-standalone-quote-page #wpadminbar{display:none!important}

.ptaq-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important}

/* Wide desktop: intentionally break out of WordPress content containers. */
@media (min-width:1181px){
  .ptaq-app{
    width:min(1460px,calc(100vw - 48px))!important;
    max-width:none!important;
    position:relative!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    margin:44px 0 80px!important;
    padding:0!important;
  }
  .ptaq-app__header{max-width:960px}
  .ptaq-layout{grid-template-columns:minmax(0,1fr) 390px;gap:40px}
  .ptaq-main{min-width:0}
}

/* Smaller desktop: still 2 columns, but switch earlier before fields become cramped. */
@media (min-width:1181px) and (max-width:1320px){
  .ptaq-app{width:calc(100vw - 32px)!important}
  .ptaq-layout{grid-template-columns:minmax(0,1fr) 350px;gap:28px}
  .ptaq-section{padding:28px}
  .ptaq-estimate{padding:27px 24px}
  .ptaq-estimate__amount{font-size:36px}
  .ptaq-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Tablet / narrow notebook: single column. */
@media (max-width:1180px){
  .ptaq-app{width:min(960px,calc(100% - 36px));max-width:none;margin:28px auto 56px;padding:0}
  .ptaq-layout{grid-template-columns:1fr;gap:22px}
  .ptaq-side{order:-1;align-self:auto}
  .ptaq-estimate{position:relative!important;top:auto!important;max-height:none!important;overflow:visible!important}
  .ptaq-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:760px){
  .ptaq-app{width:calc(100% - 22px);margin:20px auto 42px}
  .ptaq-app__header{margin-bottom:25px}
  .ptaq-app__header h2{font-size:28px}
  .ptaq-app__header p{font-size:14px;line-height:1.65}
  .ptaq-section{padding:20px;border-radius:16px;margin-bottom:16px}
  .ptaq-section__head{gap:12px;margin-bottom:21px}
  .ptaq-section__head>span{flex-basis:36px;width:36px;height:36px;border-radius:10px}
  .ptaq-section__head h3{font-size:18px}
  .ptaq-grid--2,.ptaq-grid--3,.ptaq-grid--4{grid-template-columns:1fr}
  .ptaq-grid{gap:15px}
  .ptaq-field--full{margin-top:16px}
  .ptaq-pet{padding:18px;border-radius:14px}
  .ptaq-service{grid-template-columns:28px minmax(0,1fr);padding:14px}
  .ptaq-service__qty{grid-column:2}
  .ptaq-estimate{border-radius:17px;padding:23px 21px}
  .ptaq-estimate__amount{font-size:32px;white-space:normal}
  .ptaq-submitbar{padding:20px;border-radius:16px}
  .ptaq-result-modal{padding:0}
  .ptaq-result-modal__dialog{margin:0;min-height:100%;border-radius:0}
  .ptaq-result-modal__topbar{padding:14px 15px}
  .ptaq-result-modal__message{margin:12px 12px 0}
  .ptaq-result-modal__content{padding:12px}


}

/* v1.2.5: submit result opens in an in-page quotation modal; standalone public quote URLs remain available. */
.ptaq-download-status{max-width:920px;margin:0 auto 14px;padding:14px 16px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:12px;color:#1e3a8a;display:flex;gap:4px;flex-direction:column;font-size:13px;line-height:1.5}
.ptaq-download-status strong{font-size:14px;color:#172033}
.ptaq-download-status.is-success{border-color:#a7f3d0;background:#ecfdf5;color:#065f46}
.ptaq-download-status.is-warning{border-color:#fed7aa;background:#fff7ed;color:#9a3412}
.ptaq-public-wrap{min-height:320px}


/* v1.2.6 — viewport-safe quotation modal.
   The modal is moved by JS to be a direct child of <body>, so theme/Elementor
   transform and overflow wrappers cannot clip it. Strong overrides are
   intentional here because Hostinger themes may ship generic modal rules. */
html.ptaq-modal-open,body.ptaq-modal-open{overflow:hidden!important}
body>.ptaq-result-modal.ptaq-result-modal--body-mounted{
  position:fixed!important;
  inset:0!important;
  top:0!important;right:0!important;bottom:0!important;left:0!important;
  width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;
  margin:0!important;padding:24px!important;
  z-index:2147483000!important;
  display:block!important;
  overflow-x:hidden!important;overflow-y:auto!important;
  background:rgba(15,23,42,.72)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  transform:none!important;filter:none!important;
  opacity:1!important;visibility:visible!important;
  isolation:isolate!important;
}
body>.ptaq-result-modal.ptaq-result-modal--body-mounted[hidden]{display:none!important}
body>.ptaq-result-modal.ptaq-result-modal--body-mounted>.ptaq-result-modal__dialog{
  display:block!important;
  position:relative!important;
  inset:auto!important;
  width:min(1040px,calc(100vw - 48px))!important;
  max-width:1040px!important;
  min-height:180px!important;
  margin:18px auto 56px!important;
  padding:0!important;
  transform:none!important;
  opacity:1!important;visibility:visible!important;
  overflow:visible!important;
  background:#f8fafc!important;
  border:1px solid rgba(255,255,255,.85)!important;
  border-radius:18px!important;
  box-shadow:0 28px 90px rgba(0,0,0,.38)!important;
  z-index:1!important;
}
body>.ptaq-result-modal.ptaq-result-modal--body-mounted .ptaq-result-modal__topbar{
  position:sticky!important;top:0!important;z-index:20!important;
  display:flex!important;visibility:visible!important;opacity:1!important;
}
body>.ptaq-result-modal.ptaq-result-modal--body-mounted .ptaq-result-modal__message,
body>.ptaq-result-modal.ptaq-result-modal--body-mounted .ptaq-result-modal__content{
  display:block!important;visibility:visible!important;opacity:1!important;
}
@media(max-width:680px){
  body>.ptaq-result-modal.ptaq-result-modal--body-mounted{padding:0!important}
  body>.ptaq-result-modal.ptaq-result-modal--body-mounted>.ptaq-result-modal__dialog{
    width:100%!important;max-width:none!important;min-height:100dvh!important;
    margin:0!important;border:0!important;border-radius:0!important;
  }
}

/* v1.2.7 — required-field guidance + inline validation */
.ptaq-required-mark{color:#d92d20!important;font-weight:900!important;margin-left:2px!important;font-style:normal!important}
.ptaq-field--error>span{color:#b42318!important}
.ptaq-field--error input,
.ptaq-field--error select,
.ptaq-field--error textarea,
.ptaq-field [aria-invalid="true"]{
  border-color:#f04438!important;
  background:#fff7f6!important;
  box-shadow:0 0 0 4px rgba(240,68,56,.10)!important;
}
.ptaq-field--error input:focus,
.ptaq-field--error select:focus,
.ptaq-field--error textarea:focus{
  border-color:#d92d20!important;
  box-shadow:0 0 0 4px rgba(217,45,32,.12)!important;
}
.ptaq-field-error{display:block!important;margin-top:0!important;color:#b42318!important;font-size:11.5px!important;font-weight:650!important;line-height:1.45!important}
.ptaq-consent--error{padding:10px 12px!important;border:1px solid #f04438!important;border-radius:10px!important;background:#fff7f6!important;color:#b42318!important}
.ptaq-consent--error input{outline:2px solid rgba(217,45,32,.28)!important;outline-offset:2px!important}
.ptaq-form-message--validation{margin-top:14px!important;padding:12px 14px!important;border:1px solid #fda29b!important;background:#fff7f6!important;border-radius:10px!important;line-height:1.55!important}
.ptaq-form-message--validation strong{display:block;margin-bottom:2px}
