.availability{padding:85px 9%;background:#e7efec}.availability h2{font-size:45px}.availability>.section-heading p:last-child{max-width:670px}.calendar{margin-top:30px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.calendar-month{font:30px 'Playfair Display',Georgia,serif;text-transform:capitalize;margin:0;text-align:center}.calendar button,.calendar-refresh,.calendar-admin button{font:inherit;cursor:pointer}.month-button{border:1px solid var(--teal);background:white;color:var(--teal);width:44px;height:44px;font-size:24px!important}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;min-height:260px}.weekday{text-align:center;font-size:14px;padding:8px}.calendar-day{min-height:80px;border:1px solid transparent;padding:10px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center}.calendar-day.free{background:#125b60;color:white}.calendar-day.occupied{background:#ae5139;color:white}.calendar-day.tentative{background:#efd89a;color:#49380b;border-color:#c6a456}.calendar-day.today{outline:2px solid var(--ink);outline-offset:-4px}.day-number{font-size:21px;font-weight:600}.day-status{font-size:13px}.calendar-legend{display:flex;flex-wrap:wrap;gap:20px;margin-top:22px;font-size:14px}.calendar-legend span{display:flex;align-items:center;gap:8px}.legend-mark{display:inline-block;width:16px;height:16px;border:1px solid #c6d2ce;background:white}.legend-mark.free{background:var(--teal)}.legend-mark.occupied{background:var(--terracotta)}.legend-mark.tentative{background:#efd89a;border-color:#c6a456}.calendar-message{font-size:13px;color:var(--muted);min-height:24px}.calendar-refresh{border:0;background:transparent;text-decoration:underline;color:var(--teal);padding:8px 0;font-size:14px}.calendar-note{font-size:14px;color:var(--muted);margin:20px 0 0}.manage-calendar{display:inline-block;margin-top:20px;text-decoration:underline;text-underline-offset:4px;color:var(--teal)}[hidden]{display:none!important}.calendar-admin{max-width:1100px;margin:0 auto;padding:50px 25px}.calendar-admin h1{font-size:45px}.admin-back{display:inline-block;margin-bottom:25px;text-decoration:underline}.calendar-admin form{background:#e7efec;padding:28px;margin:30px 0}.admin-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.calendar-admin label{display:flex;flex-direction:column;gap:7px;font-size:14px}.calendar-admin input,.calendar-admin select{font:16px 'DM Sans',sans-serif;padding:12px;border:1px solid #a5b5b1;min-width:0;width:100%;background:white;color:var(--ink);border-radius:0}.calendar-admin button[type=submit]{border:0;margin-top:22px}.calendar-admin button:disabled{opacity:.6;cursor:wait}.error{color:#922f20!important}.calendar-admin :focus-visible,.availability :focus-visible{outline:3px solid #ae5139;outline-offset:3px}.admin-help{font-size:14px;color:var(--muted)}@media(max-width:600px){.availability{padding:60px 5%}.availability h2,.calendar-admin h1{font-size:35px}.calendar-month{font-size:25px}.calendar-grid{gap:3px}.calendar-day{min-height:65px;padding:7px 0}.day-number{font-size:18px}.day-status{font-size:10px}.admin-fields{grid-template-columns:1fr}.calendar-admin form{padding:20px}.calendar-admin{padding:35px 5%}.calendar-legend{gap:12px}.calendar-message{font-size:12px}}

@media(max-width:600px){header nav{flex-wrap:wrap;justify-content:flex-start;column-gap:22px;row-gap:10px}.calendar-grid .day-status{font-size:12px;line-height:1.2;overflow-wrap:anywhere}.calendar-day{min-height:75px}}
