/*
 * Sunburst theme, Green Ridge round 8 (card 10472085809, Nathan's Loom review of the dev site). Loaded last by
 * layout.blade.php. Theme-wide: no property-specific selectors, colours only from the palette variables.
 *  - Required fields show a plain "*" in the label's own colour (.sb-req), on every Sunburst form.
 *  - The bedroom choices (and any .choices row) wrap inside their field instead of running off the form.
 *  - Contact Us: Quick links as a bar across the middle; the map full width at the bottom with Find us over a corner.
 *  - Pay Rent (item 5): the in-site page's payment-type cards, "not available yet" notice and office card.
 */

/* ---- Required marker ---- */
.sb-req{color:inherit;font-weight:inherit;letter-spacing:0;margin-left:2px}

/* ---- Radio choices: as many columns as fit, never wider than the field ---- */
body .sb-form .choices{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}
body .sb-form .field label.choice{white-space:normal;min-width:0;height:auto;padding-top:10px;padding-bottom:10px}

/* ---- Contact Us: the top row is the form card + the leasing card ---- */
body.p-contact .sb-contact-top .sb-contact-main{min-width:0}

/* Quick links bar across the middle of the page. */
body.p-contact .sb-quickbar{margin-top:40px;display:grid;gap:16px;background:var(--soft-2);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius);padding:24px 28px 28px}
body.p-contact .sb-quickbar .eyebrow{margin:0}
/* Equal columns, as many as fit in one row (5 on a desktop); fewer links just get wider buttons. */
body.p-contact .sb-quickbar-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
body.p-contact .sb-quickbar-links .btn{justify-content:space-between;padding:15px 18px;white-space:normal;min-width:0}

/* Map at the bottom, the full width of the content, with the Find us card over its lower-left corner. */
body.p-contact .sb-mapwrap{position:relative;margin-top:40px;height:520px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--soft)}
body.p-contact .sb-mapwrap iframe{display:block;width:100%;height:100%;min-height:0;border:0}
body.p-contact .sb-mapwrap .sb-find-card{position:absolute;left:28px;bottom:28px;width:340px;max-width:calc(100% - 56px);max-height:calc(100% - 56px);overflow:auto;padding:26px 26px 28px;box-shadow:0 12px 32px color-mix(in srgb,var(--ink) 22%,transparent)}
body.p-contact .sb-mapwrap .sb-find-card h2{font-size:22px}

/* Phones: the card would cover most of the map, so it stacks under the map instead. */
@media (max-width:640px){
  body.p-contact .sb-quickbar{padding:22px 20px}
  body.p-contact .sb-quickbar-links{grid-template-columns:1fr}
  body.p-contact .sb-mapwrap{height:auto;overflow:visible;border:0;border-radius:0;background:none}
  body.p-contact .sb-mapwrap iframe{height:340px;border:1px solid var(--line);border-radius:var(--radius)}
  body.p-contact .sb-mapwrap .sb-find-card{position:static;width:auto;max-width:none;max-height:none;margin-top:16px;box-shadow:none}
}

/* ---- Pay Rent (in-site, information only: no payment fields) - same card + side card layout as Maintenance ---- */
body.p-pay-rent .pr-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:36px;align-items:start}
body.p-pay-rent .pr-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:44px 48px;display:grid;gap:26px}
body.p-pay-rent .pr-intro{font-size:16px;line-height:1.7}
body.p-pay-rent .pr-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px}
body.p-pay-rent .pr-type{background:var(--soft-2);border:1px solid var(--line);border-top:3px solid var(--primary);border-radius:var(--radius);padding:24px 24px 26px}
body.p-pay-rent .pr-type h3{font-size:21px;margin-bottom:10px}
body.p-pay-rent .pr-type p{font-size:14.5px;line-height:1.7}
body.p-pay-rent .pr-type p + p{margin-top:10px}
body.p-pay-rent .pr-notice{background:var(--tint);border-left:4px solid var(--accent);border-radius:var(--radius);padding:24px 26px}
body.p-pay-rent .pr-notice h2{font-size:22px;margin-bottom:10px}
body.p-pay-rent .pr-notice p{font-size:15px;line-height:1.7;color:var(--ink)}
body.p-pay-rent .pr-notice p + p{margin-top:8px}
body.p-pay-rent .pr-notice a{color:var(--primary-dark);font-weight:700;text-decoration:underline;text-underline-offset:3px}
body.p-pay-rent .pr-notice a:hover{color:var(--accent-dark)}
body.p-pay-rent .pr-notice a[href^="tel:"]{white-space:nowrap}
body.p-pay-rent .info-card{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius);padding:32px 30px;display:flex;flex-direction:column;gap:10px}
body.p-pay-rent .info-card h3{font-size:23px}
body.p-pay-rent .info-card h4{font-size:12px;font-weight:700;letter-spacing:var(--track);text-transform:uppercase;color:var(--ink);margin-top:12px;font-family:var(--sans)}
body.p-pay-rent .info-card .big{font-family:var(--serif);font-size:26px;font-weight:var(--serif-weight);color:var(--primary)}
body.p-pay-rent .info-card .big:hover,body.p-pay-rent .info-card .pr-mail:hover{color:var(--accent-dark)}
body.p-pay-rent .info-card .pr-mail{color:var(--primary-dark);font-weight:600;overflow-wrap:anywhere}
body.p-pay-rent .hours{display:flex;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid var(--line);font-size:14.5px}
body.p-pay-rent .hours b{color:var(--ink);font-weight:700;letter-spacing:var(--track);text-transform:uppercase;font-size:12px}
@media (max-width:960px){
  body.p-pay-rent .pr-layout{grid-template-columns:1fr}
}
@media (max-width:640px){
  body.p-pay-rent .pr-card{padding:28px 20px}
  body.p-pay-rent .info-card{padding:26px 20px}
}
