/* Add-on menu — the India rate card as a choosable list.
   Same grammar as Our Services: Wildcard for the title and numbers, Roboto Mono
   for everything you read. Glass sheet over the page; rows read like a menu
   (name · leader · price). Selections become a running estimate and travel
   into the project brief. */

.addons-dialog{--ad-line:color-mix(in srgb,var(--paper) 11%,transparent);--ad-muted:color-mix(in srgb,var(--paper) 66%,transparent);--ad-faint:color-mix(in srgb,var(--paper) 38%,transparent);--ad-ease:cubic-bezier(.22,1,.36,1);--ad-pad:clamp(22px,2.8vw,40px);
 width:min(1120px,calc(100vw - 32px));height:min(880px,calc(100dvh - 48px));max-width:none;max-height:none;margin:auto;padding:0;border-radius:26px;overflow:hidden;color:var(--paper);font-family:var(--mono);
 background:linear-gradient(160deg,rgb(26 23 27/.9),rgb(10 10 12/.96) 60%);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine),0 60px 120px -40px rgb(0 0 0/.85);-webkit-backdrop-filter:blur(30px) saturate(1.4);backdrop-filter:blur(30px) saturate(1.4)}
.addons-dialog[open]{animation:ad-in .7s var(--ad-ease)}
.addons-dialog::backdrop{background:rgb(4 4 6/.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:ad-fade .5s ease}
@keyframes ad-in{from{opacity:0;transform:translateY(18px) scale(.985)}}
@keyframes ad-fade{from{opacity:0}}
.addons-dialog *{box-sizing:border-box}
.addons-dialog :is(h2,h3,p,ul,ol){margin:0}
.addons-dialog i{font-style:normal}
.addons-dialog .ad-form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;margin:0}

/* Head */
.addons-dialog .ad-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:var(--ad-pad) var(--ad-pad) 22px;border-bottom:1px solid var(--ad-line)}
.addons-dialog .ad-head-copy{display:grid;gap:14px}
.addons-dialog .ad-eyebrow{font:500 10.5px/1.4 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ad-muted)}
.addons-dialog .ad-eyebrow span{color:var(--paper)}
.addons-dialog .ad-title{font:400 clamp(32px,3.8vw,56px)/.92 'Wildcard',Arial,sans-serif;letter-spacing:.01em}
.addons-dialog .ad-intro{font-size:13.5px;line-height:1.65;color:var(--ad-muted);max-width:58ch}
.addons-dialog .dialog-close{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;padding:0;border:1px solid var(--ad-line);background:transparent;color:var(--paper);font:300 22px/1 var(--mono);cursor:pointer;transition:border-color .3s,transform .5s var(--ad-ease)}
.addons-dialog .dialog-close:hover,.addons-dialog .dialog-close:focus-visible{border-color:var(--paper);transform:rotate(90deg)}

/* Body: category index + one scrolling list */
.addons-dialog .ad-body{display:grid;grid-template-columns:clamp(190px,18vw,230px) minmax(0,1fr);min-height:0}
.addons-dialog .ad-index{border-right:1px solid var(--ad-line);padding:18px 12px 18px var(--ad-pad);overflow:auto}
.addons-dialog .ad-index ol{list-style:none;padding:0;display:grid;gap:2px}
.addons-dialog .ad-index a{position:relative;display:flex;gap:12px;align-items:baseline;padding:10px 0;font-size:12.5px;line-height:1.35;color:var(--ad-muted);text-decoration:none;transition:color .3s,padding .5s var(--ad-ease)}
.addons-dialog .ad-index a i{font-size:10px;letter-spacing:.14em;color:var(--ad-faint)}
.addons-dialog .ad-index a:before{content:'';position:absolute;left:-14px;top:50%;width:2px;height:14px;margin-top:-7px;border-radius:2px;background:var(--paper);transform:scaleY(0);transition:transform .5s var(--ad-ease)}
.addons-dialog .ad-index a:hover,.addons-dialog .ad-index a[aria-current]{color:var(--paper)}
.addons-dialog .ad-index a[aria-current]{padding-left:6px}
.addons-dialog .ad-index a[aria-current]:before{transform:scaleY(1)}
.addons-dialog .ad-scroll{overflow:auto;overscroll-behavior:contain;padding:24px var(--ad-pad) 36px;container-type:inline-size;outline:none}

.addons-dialog .ad-cat{padding:4px 0 30px}
.addons-dialog .ad-cat h3{display:flex;gap:14px;align-items:baseline;font:300 19px/1.3 var(--mono);letter-spacing:-.03em;margin-bottom:12px}
.addons-dialog .ad-cat h3 i{font:400 14px/1 'Wildcard',Arial,sans-serif;letter-spacing:.05em;color:transparent;-webkit-text-stroke:1px var(--ad-faint)}
.addons-dialog .ad-note{font-size:11.5px;line-height:1.5;color:var(--ad-faint);margin:-4px 0 14px}
.addons-dialog .ad-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(28px,3.4vw,52px)}
.addons-dialog .ad-cat ul{list-style:none;padding:0;border-top:1px solid var(--ad-line)}

/* A row: tick · name · leader · price */
.addons-dialog .ad-item{position:relative;display:grid;grid-template-columns:18px auto minmax(14px,1fr) auto auto;align-items:center;gap:12px;margin:0;padding:13px 6px 13px 2px;border-bottom:1px solid var(--ad-line);font-size:13.5px;cursor:pointer;transition:background .35s}
.addons-dialog .ad-item:hover{background:color-mix(in srgb,var(--paper) 3.5%,transparent)}
.addons-dialog :is(.ad-item,.ad-bundle) input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.addons-dialog .ad-tick{width:18px;height:18px;border-radius:6px;border:1px solid color-mix(in srgb,var(--paper) 32%,transparent);display:grid;place-items:center;transition:background .3s,border-color .3s}
.addons-dialog .ad-tick:after{content:'';width:9px;height:5px;margin-top:-2px;border-left:1.6px solid var(--ink);border-bottom:1.6px solid var(--ink);transform:rotate(-45deg) scale(.3);opacity:0;transition:transform .4s var(--ad-ease),opacity .2s}
.addons-dialog input:checked~.ad-tick,.addons-dialog input:checked~.ad-bundle-top .ad-tick{background:var(--paper);border-color:var(--paper)}
.addons-dialog input:checked~.ad-tick:after,.addons-dialog input:checked~.ad-bundle-top .ad-tick:after{opacity:1;transform:rotate(-45deg) scale(1)}
.addons-dialog input:focus-visible~.ad-tick,.addons-dialog input:focus-visible~.ad-bundle-top .ad-tick{outline:2px solid var(--paper);outline-offset:3px}
.addons-dialog .ad-name{line-height:1.35;color:var(--ad-muted);transition:color .3s}
.addons-dialog .ad-name small{font-size:11px;color:var(--ad-faint);margin-left:4px}
.addons-dialog .ad-lead{height:1px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--paper) 22%,transparent) 0 1px,transparent 1px 6px);margin-top:7px}
.addons-dialog .ad-price{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ad-muted);transition:color .3s}
.addons-dialog .ad-in{display:none;padding:3px 8px;border-radius:999px;border:1px solid var(--ad-line);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ad-muted);white-space:nowrap}
.addons-dialog .ad-item:has(input:checked) :is(.ad-name,.ad-price){color:var(--paper)}
.addons-dialog .ad-item.is-included{cursor:default}
.addons-dialog .ad-item.is-included .ad-tick{background:color-mix(in srgb,var(--paper) 30%,transparent);border-color:transparent}
.addons-dialog .ad-item.is-included .ad-tick:after{opacity:1;transform:rotate(-45deg) scale(1)}
.addons-dialog .ad-item.is-included .ad-name{color:var(--paper)}
.addons-dialog .ad-item.is-included .ad-price{text-decoration:line-through;color:var(--ad-faint)}
.addons-dialog .ad-item.is-included .ad-in{display:inline-block}

/* Bundles */
.addons-dialog .ad-bundles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.addons-dialog .ad-bundle{position:relative;display:grid;align-content:start;gap:10px;margin:0;padding:18px 18px 20px;border-radius:18px;border:1px solid var(--glass-edge);background:var(--glass-fill);box-shadow:var(--glass-shine);cursor:pointer;transition:border-color .4s,transform .6s var(--ad-ease),background .4s}
.addons-dialog .ad-bundle:hover{transform:translateY(-2px)}
.addons-dialog .ad-bundle:has(input:checked){border-color:color-mix(in srgb,var(--paper) 60%,transparent);background:color-mix(in srgb,var(--paper) 7%,transparent)}
.addons-dialog .ad-bundle-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.addons-dialog .ad-bundle-top b{font:400 14.5px/1.3 var(--mono);letter-spacing:-.02em}
.addons-dialog .ad-bundle-copy{font-size:12px;line-height:1.55;color:var(--ad-muted);min-height:3.1em}
.addons-dialog .ad-bundle-price{font:300 24px/1 var(--mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:4px}

/* Notes */
.addons-dialog .ad-more{display:grid;gap:10px;padding-top:6px}
.addons-dialog .ad-more label{display:block;margin:0;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ad-muted)}
.addons-dialog .ad-more textarea{width:100%;min-height:84px;padding:14px 16px;border-radius:14px;border:1px solid var(--ad-line);background:color-mix(in srgb,var(--paper) 4%,transparent);color:var(--paper);font:400 13px/1.6 var(--mono);resize:vertical}
.addons-dialog .ad-more textarea:focus{outline:none;border-color:color-mix(in srgb,var(--paper) 45%,transparent)}

/* Footer: the running estimate */
.addons-dialog .ad-foot{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(16px,2.4vw,36px);padding:16px var(--ad-pad);border-top:1px solid var(--ad-line);background:color-mix(in srgb,var(--ink) 35%,transparent)}
.addons-dialog .ad-total{display:grid;gap:6px;min-width:150px}
.addons-dialog .ad-total small{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ad-faint)}
.addons-dialog .ad-total strong{font:300 clamp(24px,2.2vw,30px)/1 var(--mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.addons-dialog .ad-fine{font-size:11px;line-height:1.5;color:var(--ad-faint);max-width:40ch}
.addons-dialog .ad-actions{display:flex;align-items:center;gap:10px}
.addons-dialog .ad-clear{height:44px;padding:0 16px;border-radius:999px;border:1px solid transparent;background:none;color:var(--ad-muted);font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:color .3s,border-color .3s,opacity .3s}
.addons-dialog .ad-clear:hover:not(:disabled){color:var(--paper);border-color:var(--ad-line)}
.addons-dialog .ad-clear:disabled{opacity:0;pointer-events:none}
.addons-dialog .ad-submit{border:0;cursor:pointer}

@container (max-width:720px){.addons-dialog .ad-cats{grid-template-columns:1fr}}

/* Contact form: a way back into the menu */
.addons-open{display:flex;width:max-content;align-items:center;gap:10px;justify-self:end;align-self:flex-end;margin:4px 0 14px auto;padding:10px 0;border:0;border-bottom:1px solid color-mix(in srgb,var(--paper) 14%,transparent);background:none;color:var(--paper);font:500 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:border-color .4s,gap .4s cubic-bezier(.22,1,.36,1)}
.addons-open i{font-style:normal;display:inline-block;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.addons-open:hover,.addons-open:focus-visible{border-color:var(--paper);gap:16px}
.addons-open:hover i{transform:translate(2px,-2px)}

/* White mode */
[data-theme=light] .addons-dialog{background:linear-gradient(160deg,rgb(255 255 255/.9),rgb(244 242 238/.95) 60%);border-color:rgb(0 0 0/.08);box-shadow:inset 0 1px 0 #fff,0 60px 120px -50px rgb(40 30 20/.4)}
[data-theme=light] .addons-dialog::backdrop{background:rgb(240 238 234/.5)}

/* Tablet + phone: a full sheet, categories become chips above one list */
@media (max-width:860px){
 .addons-dialog{width:100vw;height:100dvh;border-radius:0;border:0}
 .addons-dialog .ad-body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
 .addons-dialog .ad-index{border-right:0;border-bottom:1px solid var(--ad-line);padding:10px 0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
 .addons-dialog .ad-index::-webkit-scrollbar{display:none}
 .addons-dialog .ad-index ol{display:flex;gap:8px;padding:0 var(--ad-pad);width:max-content}
 .addons-dialog .ad-index a{padding:8px 14px;border:1px solid var(--ad-line);border-radius:999px;white-space:nowrap;font-size:11.5px}
 .addons-dialog .ad-index a:before{display:none}
 .addons-dialog .ad-index a[aria-current]{padding-left:14px;background:var(--paper);color:var(--ink);border-color:transparent}
 .addons-dialog .ad-index a[aria-current] i{color:color-mix(in srgb,var(--ink) 55%,transparent)}
 .addons-dialog .ad-fine{display:none}
 .addons-dialog .ad-foot{grid-template-columns:minmax(0,1fr) auto}
}
@media (max-width:700px){.addons-open{justify-self:start;align-self:flex-start;margin-left:0}}
@media (max-width:560px){
 .addons-dialog{--ad-pad:18px}
 .addons-dialog .ad-head{padding-top:20px;padding-bottom:16px}
 .addons-dialog .ad-title{font-size:30px}
 .addons-dialog .ad-intro{font-size:12.5px}
 .addons-dialog .ad-item{font-size:12.5px;gap:10px;padding:12px 2px}
 .addons-dialog .ad-bundles{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--ad-pad)*-1);padding:2px var(--ad-pad) 6px;scroll-padding-inline:var(--ad-pad)}
 .addons-dialog .ad-bundles::-webkit-scrollbar{display:none}
 .addons-dialog .ad-bundle{scroll-snap-align:start}
 .addons-dialog .ad-clear{display:none}
 .addons-dialog .ad-submit{padding:0 18px}
 .addons-dialog .ad-total{min-width:0}
}
@media (prefers-reduced-motion:reduce){
 .addons-dialog[open],.addons-dialog::backdrop{animation:none}
 .addons-dialog *{transition:none!important}
}
