/* Biryani Aroma theme layer.
   site.css is the design system from the approved design; this file holds what the
   CMS theme adds around it: document resets shared by every page, the blog and
   plain-editor templates, error pages and form states. Colours come from the
   variables site.css defines on :root. */

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button,select{cursor:pointer}
a{color:var(--brand);text-decoration:none}
a:hover{color:var(--brand-2)}
input::placeholder,textarea::placeholder{color:#9b8a76}
::-webkit-scrollbar{height:8px;width:8px}
::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:8px}

.ba-skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--panel);color:#fdf6e5;padding:10px 16px;border-radius:0 0 6px 0}
.ba-skip:focus{left:0;color:#fdf6e5}

/* Interactive blocks reserve room while their script starts, so the footer does not jump. */
.ba-app{min-height:60vh}
.ba-app-contact,.ba-app-faq,.ba-app-reservation,.ba-app-rewards{min-height:40vh}
.ba-noscript{max-width:900px;margin:0 auto;padding:40px 22px;font-size:15.5px;line-height:1.7;color:var(--fg-2)}
.ba-noscript h2{font-family:'Playfair Display',serif;color:var(--fg);margin:28px 0 8px}
.ba-noscript ul{margin:0;padding-left:20px}

/* Plain-editor pages and blog posts */
.ba-prose{max-width:820px;margin:0 auto;padding:clamp(34px,5vw,60px) 22px;font-size:16.5px;line-height:1.75;color:var(--fg-2)}
.ba-prose h2,.ba-prose h3,.ba-prose h4{font-family:'Playfair Display',serif;color:var(--fg);line-height:1.2;margin:1.6em 0 .5em;letter-spacing:-.01em}
.ba-prose h2{font-size:clamp(23px,3.2vw,30px)}
.ba-prose h3{font-size:clamp(19px,2.6vw,23px)}
.ba-prose p{margin:0 0 1.1em}
.ba-prose ul,.ba-prose ol{margin:0 0 1.1em;padding-left:22px}
.ba-prose img{max-width:100%;height:auto;border-radius:4px}
.ba-prose a{border-bottom:1px solid currentColor}
.ba-prose blockquote{margin:1.4em 0;padding:4px 0 4px 18px;border-left:3px solid var(--gold);color:var(--fg);font-style:italic}
.ba-prose-lead{display:block;width:100%;margin:0 0 28px}
.ba-prose-back{margin-top:36px}
.ba-prose-back a{border:0;font-weight:700}

/* Blog listing */
.ba-blog{max-width:1180px;margin:0 auto;padding:clamp(34px,5vw,60px) 22px}
.ba-blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.ba-blog-card{background:var(--surface);border:1px solid var(--line);border-radius:4px;overflow:hidden;display:flex;flex-direction:column}
.ba-blog-card-img img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.ba-blog-card-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.ba-blog-card-date{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.ba-blog-card h2{font-family:'Playfair Display',serif;font-size:22px;line-height:1.2;margin:0}
.ba-blog-card h2 a{color:var(--fg)}
.ba-blog-card p{margin:0;font-size:14.5px;line-height:1.65;color:var(--fg-2)}
.ba-blog-card-more{margin-top:auto;padding-top:8px;font-size:13.5px;font-weight:700}
.ba-empty{text-align:center;color:var(--fg-muted);padding:40px 0}
.ba-pagination{margin-top:34px;display:flex;justify-content:center}
.ba-pagination nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:14px}
.ba-pagination .pagination{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.ba-pagination .page-link,.ba-pagination a,.ba-pagination span[aria-current] span{display:inline-block;padding:8px 13px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);color:var(--brand)}
.ba-pagination .active .page-link,.ba-pagination span[aria-current] span{background:var(--brand);border-color:var(--brand);color:#fff5df}
.ba-pagination svg{width:16px;height:16px;vertical-align:middle}

/* Error pages */
.ba-error{max-width:720px;margin:0 auto;padding:clamp(60px,10vw,120px) 22px;text-align:center}
.ba-error-code{font-family:'Playfair Display',serif;font-size:clamp(70px,16vw,130px);line-height:1;color:var(--gold)}
.ba-error h1{font-family:'Playfair Display',serif;font-size:clamp(26px,4vw,38px);margin:10px 0 12px;color:var(--fg)}
.ba-error p{font-size:16px;line-height:1.65;color:var(--fg-2);margin:0}
.ba-error .v2-btn-ghost{color:var(--brand);border-color:var(--line-2)}

/* Simple forms (password-protected pages, static forms wired to the CMS) */
.ba-form{display:grid;gap:14px;max-width:420px}
.ba-form label{display:grid;gap:7px;font-size:14px;color:var(--fg-2)}
.ba-form input{border:1px solid var(--line-2);background:#fff;border-radius:3px;padding:12px 14px;font-size:15px;color:var(--fg)}
.ba-form-err{color:#8f2029;font-weight:600;font-size:13.5px;margin:0}
[data-ba-form] .ba-form-note{display:block;margin-top:12px;font-size:14px;font-weight:600;line-height:1.5}
[data-ba-form] .ba-form-note.is-error{color:#c2231b}
[data-ba-form].is-busy button{opacity:.6;pointer-events:none}
