/* tent-pandal.html — scoped under .tp-app + recoloured to AB tokens.
   Source: _work/tent-pandal.html's own <style> (11.4KB). Card grid/modal
   markup + all 70+ catalogue items and their detail libraries are rendered
   client-side by assets/js/tent-pandal.js — unchanged. */
.tp-app{
  --bg:#f8f5ef;--paper:#fffdf8;--ink:var(--ink);--muted:#667085;--line:#e7e0d4;
  --navy:var(--navy);--navy2:#1d2c4a;--gold:#c6a15b;--gold2:#f5e8c8;
}.tp-app *{box-sizing:border-box}.tp-app{scroll-behavior:smooth}.tp-app{
 margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
 background:
 radial-gradient(circle at 12% 8%,rgba(198,161,91,.10),transparent 24%),
 radial-gradient(circle at 90% 20%,rgba(22,199,183,.07),transparent 25%),
 linear-gradient(180deg,var(--navy) 0 430px,#f8f5ef 430px);
}.tp-app .container{width:min(1220px,calc(100% - 26px));margin:auto}.tp-app .hero{color:#fff;padding:25px 0 22px;position:relative;overflow:hidden}.tp-app .hero:before{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 20%,#fff 50%,var(--gold) 80%,transparent);opacity:.6}.tp-app .hero:after{content:"";position:absolute;right:-110px;top:-150px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(198,161,91,.20),transparent 67%);pointer-events:none}.tp-app .top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:30px}.tp-app .brand{font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#f1dfb0}.tp-app .badge{font-size:13px;padding:8px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07)}.tp-app h1{font-family:Georgia,serif;font-size:clamp(32px,5vw,57px);line-height:1;letter-spacing:-.045em;margin:0 0 13px;max-width:850px}.tp-app .hero p{margin:0;max-width:800px;color:#cbd5e1;font-size:14px;line-height:1.7}.tp-app .hero-pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.tp-app .hero-pill{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);font-size:13px;font-weight:800}.tp-app .tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:22px}.tp-app .tab{min-height:72px;border:1px solid rgba(255,255,255,.14);border-radius:17px;padding:9px 7px;color:#fff;background:rgba(255,255,255,.06);cursor:pointer;text-align:center;font-weight:800;transition:.2s}.tp-app .tab:hover{transform:translateY(-2px);background:rgba(255,255,255,.10)}.tp-app .tab.active{background:linear-gradient(145deg,#fff,#f3ead8);color:var(--ink);border-color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.2)}.tp-app .tab-icon{display:block;font-size:22px;margin-bottom:5px}.tp-app .tab-name{display:block;font-size:13px;line-height:1.2}.tp-app .controls{display:grid;grid-template-columns:1fr auto auto;gap:9px;margin-top:14px}.tp-app input, .tp-app select, .tp-app button{font:inherit}.tp-app input, .tp-app select{border:1px solid #ddd4c5;background:#fff;color:var(--ink);border-radius:12px;padding:12px 13px;outline:none}.tp-app .control-btn{border:0;border-radius:12px;padding:12px 16px;background:linear-gradient(135deg,#b18a45,#d6b772);color:#fff;font-weight:850;cursor:pointer}.tp-app .summary{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:16px 0 23px}.tp-app .stat{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;box-shadow:0 9px 26px rgba(15,23,42,.055)}.tp-app .stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.tp-app .stat:nth-child(1):before{background:#d97706}.tp-app .stat:nth-child(2):before{background:#7c3aed}.tp-app .stat:nth-child(3):before{background:#0f766e}.tp-app .stat:nth-child(4):before{background:#2563eb}.tp-app .stat strong{display:block;font-size:22px}.tp-app .stat span{font-size:13px;color:var(--muted)}.tp-app .section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:25px 0 13px}.tp-app .section-head h2{margin:0;font-size:23px}.tp-app .section-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.tp-app .gold-line{height:2px;width:78px;background:linear-gradient(90deg,var(--gold),#f1e1bd,transparent);margin-top:9px}.tp-app .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.tp-app .card{
 position:relative;overflow:hidden;min-height:350px;padding:18px;border-radius:21px;
 border:1px solid rgba(255,255,255,.72);box-shadow:0 11px 29px rgba(15,23,42,.08);
 display:flex;flex-direction:column;isolation:isolate;transition:.23s ease;
}.tp-app .card:hover{transform:translateY(-6px) scale(1.008);box-shadow:0 25px 48px rgba(15,23,42,.18);filter:saturate(1.08)}.tp-app .card:before{content:"";position:absolute;right:-45px;top:-60px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.24);filter:blur(7px);z-index:-1}.tp-app .card:after{content:"";position:absolute;left:-50px;bottom:-70px;width:220px;height:170px;border-radius:50%;background:rgba(255,255,255,.16);filter:blur(20px);z-index:-1}.tp-app .card:nth-child(7n+1){background:linear-gradient(145deg,#ffedd5,#fb923c 50%,#c2410c)}.tp-app .card:nth-child(7n+2){background:linear-gradient(145deg,#dbeafe,#60a5fa 50%,#1d4ed8)}.tp-app .card:nth-child(7n+3){background:linear-gradient(145deg,#dcfce7,#4ade80 50%,#15803d)}.tp-app .card:nth-child(7n+4){background:linear-gradient(145deg,#fce7f3,#f472b6 50%,#be185d)}.tp-app .card:nth-child(7n+5){background:linear-gradient(145deg,#fef3c7,#fbbf24 50%,#a16207)}.tp-app .card:nth-child(7n+6){background:linear-gradient(145deg,#ede9fe,#a78bfa 50%,#6d28d9)}.tp-app .card:nth-child(7n){background:linear-gradient(145deg,#cffafe,#22d3ee 50%,#0e7490)}.tp-app .card-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.tp-app .icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.65);font-size:24px;box-shadow:0 7px 16px rgba(15,23,42,.10)}.tp-app .tag{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.65)}.tp-app .card h3{font-family:Georgia,serif;font-size:21px;margin:14px 0 5px;letter-spacing:-.02em}.tp-app .sub{font-size:13px;line-height:1.45;color:#263247}.tp-app .pricebox{margin-top:13px;padding:12px;border-radius:14px;background:rgba(255,255,255,.43);border:1px solid rgba(255,255,255,.66);backdrop-filter:blur(7px)}.tp-app .price{font-size:22px;font-weight:900;letter-spacing:-.03em}.tp-app .price-note{font-size:13px;color:#455468;margin-top:2px}.tp-app .pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.tp-app .pill{font-size:13px;font-weight:800;padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.62)}.tp-app .note{font-size:13px;line-height:1.5;color:#344256;margin-top:10px}.tp-app .actions{margin-top:auto;padding-top:13px;display:flex;gap:7px}.tp-app .btn{flex:1;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.55);border-radius:10px;padding:10px 8px;font-size:13px;font-weight:900;cursor:pointer;transition:.18s}.tp-app .btn:hover{transform:translateY(-2px);background:rgba(255,255,255,.86)}.tp-app .btn.primary{background:rgba(17,24,39,.91);color:#fff;border-color:rgba(17,24,39,.75)}.tp-app .empty{padding:35px;text-align:center;border:1px dashed #d7cfbf;border-radius:18px;background:#fff;color:var(--muted)}.tp-app .info{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0 35px}.tp-app .box{background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px}.tp-app .box h3{font-size:16px;margin:0 0 7px}.tp-app .box p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.tp-app .disclaimer{padding:16px;border-radius:17px;background:linear-gradient(135deg,#fffaf0,#f3ead7);border:1px solid #e6d6b7;color:#65583f;font-size:13px;line-height:1.6;margin-bottom:25px}.tp-app footer{padding:25px 0;background:var(--navy);color:#9facbf;font-size:13px;line-height:1.7}.tp-app footer strong{color:#fff}.tp-app .hidden{display:none!important}@media(max-width:980px){.tp-app .tabs{grid-template-columns:repeat(4,1fr)}.tp-app .grid{grid-template-columns:repeat(2,1fr)}.tp-app .summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.tp-app{background:linear-gradient(180deg,var(--navy) 0 470px,#f8f5ef 470px)}.tp-app .container{width:calc(100% - 18px)}.tp-app .top{margin-bottom:24px}.tp-app .hero{padding-top:19px}.tp-app h1{font-size:35px}.tp-app .hero p{font-size:13px}.tp-app .tabs{grid-template-columns:repeat(2,1fr);gap:7px}.tp-app .tab{min-height:67px}.tp-app .tab-icon{font-size:20px}.tp-app .tab-name{font-size:13px}.tp-app .controls{grid-template-columns:1fr}.tp-app .summary{grid-template-columns:1fr 1fr}.tp-app .grid{grid-template-columns:1fr}.tp-app .card{min-height:0}.tp-app .info{grid-template-columns:1fr}.tp-app .section-head{display:block}.tp-app .section-head p{margin-top:6px}
}/* Package details modal */.tp-app.modal-open{overflow:hidden}.tp-app .details-modal{
 position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;
 padding:18px;background:rgba(9,15,29,.68);backdrop-filter:blur(10px);
}.tp-app .details-modal.open{display:flex;animation:modalFade .18s ease-out}.tp-app .details-sheet{
 position:relative;width:min(720px,100%);max-height:min(88vh,820px);overflow:auto;
 border-radius:26px;background:linear-gradient(145deg,#fffdf8,#f4efe5);
 border:1px solid rgba(255,255,255,.9);box-shadow:0 35px 90px rgba(0,0,0,.35);
 padding:23px;color:var(--ink);animation:modalUp .22s ease-out;
}.tp-app .modal-close{
 position:absolute;right:15px;top:14px;width:38px;height:38px;border:0;border-radius:12px;
 background:var(--navy);color:#fff;font-size:24px;line-height:1;cursor:pointer;z-index:2;
}.tp-app .modal-head{display:flex;gap:15px;align-items:flex-start;padding-right:48px}.tp-app .modal-icon{
 width:62px;height:62px;flex:0 0 auto;border-radius:18px;display:grid;place-items:center;font-size:31px;
 background:linear-gradient(145deg,#fff,#eadfc9);border:1px solid #e0d3b9;box-shadow:0 10px 24px rgba(15,23,42,.10)
}.tp-app .modal-kicker{font-size:13px;letter-spacing:.16em;font-weight:900;color:#a07b39;margin-top:3px}.tp-app .modal-head h2{font-family:Georgia,serif;font-size:27px;line-height:1.08;margin:5px 0 5px}.tp-app .modal-head p{font-size:13px;line-height:1.55;color:#667085;margin:0}.tp-app .modal-price-row{
 display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px
}.tp-app .modal-price-row>div{
 padding:14px;border-radius:16px;background:#fff;border:1px solid #e6dfd4
}.tp-app .modal-label{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:#8b7b63;margin-bottom:5px}.tp-app .modal-price-row strong{font-size:18px}.tp-app .modal-section{margin-top:17px}.tp-app .modal-section-title{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:9px}.tp-app .option-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.tp-app .option-list li{
 margin:0;padding:10px 11px;border-radius:12px;background:rgba(255,255,255,.76);
 border:1px solid #e7e0d4;font-size:13px;line-height:1.4;color:#344054
}.tp-app .option-list li span{color:#087f7b;font-weight:900;margin-right:6px}.tp-app .factor-grid{display:flex;flex-wrap:wrap;gap:7px}.tp-app .factor-grid span{
 padding:8px 10px;border-radius:999px;background:#eef4f1;border:1px solid #d7e6e1;
 color:#3d5e59;font-size:13px;font-weight:800
}.tp-app .modal-actions{display:flex;gap:9px;margin-top:19px}.tp-app .modal-actions button{flex:1;padding:12px;border-radius:12px;font-size:13px;font-weight:900;cursor:pointer}.tp-app .modal-secondary{background:#fff;border:1px solid #ddd4c5;color:#344054}.tp-app .modal-primary{border:1px solid var(--navy);background:var(--navy);color:#fff}@keyframes modalFade{from{opacity:0}to{opacity:1}}@keyframes modalUp{from{transform:translateY(18px) scale(.98);opacity:.6}to{transform:translateY(0) scale(1);opacity:1}}@media(max-width:620px){.tp-app .details-modal{padding:9px;align-items:flex-end}.tp-app .details-sheet{width:100%;max-height:91vh;border-radius:24px;padding:19px}.tp-app .modal-head h2{font-size:23px}.tp-app .modal-head p{font-size:13px}.tp-app .modal-price-row{grid-template-columns:1fr 1fr}.tp-app .option-list{grid-template-columns:1fr}.tp-app .modal-actions{position:sticky;bottom:0;background:linear-gradient(180deg,transparent,#f8f3e9 28%);padding-top:16px}
}



.tp-note { text-align: center; color: var(--muted); font-size: 13px; margin: 24px 0 4px; }
