/* OCG Business Suite v0.3: modern client experience */
.ocg-site .ocg-booking{max-width:1080px;border:0;background:transparent;box-shadow:none;padding:0;margin:0 auto}
.ocg-site .ocg-booking>h2{font-size:clamp(32px,4vw,48px);letter-spacing:-.035em;line-height:1.15;font-weight:800;margin:0 0 12px}
.ocg-site .ocg-booking>p{color:#5b7085;font-size:17px;max-width:700px;margin-bottom:32px}
.ocg-site .ocg-booking>.ocg-wrap,.ocg-site .ocg-booking .ocg-wrap,.ocg-wrap{--ocg-navy:#071d35;--ocg-gold:#e5af51;box-sizing:border-box}
.ocg-site .ocg-booking .ocg-wrap{width:100%;max-width:100%;margin:0;padding:0;background:transparent;border:0;box-shadow:none;border-radius:0}
.ocg-site .ocg-booking .ocg-wrap>h2{font-size:30px;letter-spacing:-.025em;margin:0 0 9px}
.ocg-site .ocg-booking .ocg-wrap>p{color:#62758a;margin:0 0 25px}
.ocg-site .ocg-booking .ocg-wrap:has(#loginform){max-width:750px;padding:40px 44px;border-radius:24px;background:linear-gradient(135deg,#fff,#f9fbff);border:1px solid #e4ebf2;box-shadow:0 24px 65px rgba(9,33,61,.09)}
.ocg-wrap #loginform{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px;margin:0}
.ocg-wrap #loginform>p{margin:0}
.ocg-wrap #loginform .login-username,.ocg-wrap #loginform .login-password{grid-column:span 1}
.ocg-wrap #loginform label{display:block;font-size:13px;font-weight:750;color:#263e58;margin-bottom:9px}
.ocg-wrap #loginform input[type=text],.ocg-wrap #loginform input[type=password],.ocg-wrap .ocg-form input,.ocg-wrap .ocg-form select,.ocg-wrap .ocg-form textarea{box-sizing:border-box;width:100%;min-height:52px;margin:0;background:#fff;border:1px solid #d5e0eb;border-radius:12px;padding:12px 15px;font-size:15px;color:#09223d;box-shadow:0 1px 2px #09233d06;transition:border-color .18s,box-shadow .18s}
.ocg-wrap #loginform input:focus,.ocg-wrap .ocg-form :is(input,select,textarea):focus{outline:none;border-color:#ba8a36;box-shadow:0 0 0 4px rgba(220,170,77,.17)}
.ocg-wrap #loginform .login-remember{grid-column:1/-1;font-size:13px}
.ocg-wrap #loginform .login-remember label{display:flex;align-items:center;gap:9px;font-weight:500}
.ocg-wrap #loginform .login-submit{grid-column:1/-1}
.ocg-wrap #loginform #wp-submit,.ocg-wrap .ocg-form button,.ocg-wrap .ocg-mini button,.ocg-wrap form button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border:0;border-radius:12px;background:linear-gradient(110deg,#f3c878,#d79c3f);color:#0b233b;font-size:15px;font-weight:800;padding:13px 25px;box-shadow:0 7px 18px rgba(191,133,38,.16);cursor:pointer;transition:transform .15s,box-shadow .15s}
.ocg-wrap #loginform #wp-submit{width:100%}
.ocg-wrap #loginform #wp-submit:hover,.ocg-wrap .ocg-form button:hover,.ocg-wrap form button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(191,133,38,.23)}
.ocg-wrap .ocg-form{max-width:100%;padding:30px;background:#fff;border:1px solid #e5ecf3;border-radius:22px;box-shadow:0 18px 55px rgba(8,35,65,.06);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.ocg-wrap .ocg-form>label{margin:0;font-size:13px;font-weight:750;color:#203c56}
.ocg-wrap .ocg-form>label:has(textarea),.ocg-wrap .ocg-form>label:has(select[name=service]),.ocg-wrap .ocg-form>button,.ocg-wrap .ocg-form>.ocg-notice{grid-column:1/-1}
.ocg-wrap .ocg-form>label :is(input,select,textarea){margin-top:9px;font-weight:400}
.ocg-wrap .ocg-form textarea{min-height:135px;resize:vertical}
.ocg-wrap .ocg-notice{border:1px solid #a8dbc2;background:#ecfbf2;color:#135b3b;border-radius:12px;padding:14px 17px}
.ocg-wrap a{color:#11639b;text-underline-offset:3px}
.ocg-dialog-overlay{position:fixed;inset:0;background:rgba(3,17,34,.68);backdrop-filter:blur(5px);display:grid;place-items:center;padding:18px;z-index:999999}
.ocg-dialog{width:min(100%,460px);background:#fff;border-radius:24px;box-shadow:0 28px 90px #0005;padding:34px;color:#122c47;position:relative}
.ocg-dialog-icon{display:grid;place-items:center;width:54px;height:54px;background:#fff4df;border-radius:16px;color:#a56b18;font-size:26px;margin-bottom:19px}
.ocg-dialog h2{font-size:25px;line-height:1.25;margin:0 0 10px;color:#0b2542}
.ocg-dialog p{color:#5b6e81;font-size:15px;line-height:1.65;margin:0 0 24px}
.ocg-dialog-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}
.ocg-dialog-actions button{min-height:46px;padding:10px 18px;border-radius:10px;font-weight:750;cursor:pointer}
.ocg-dialog-cancel{background:#f2f5f8;border:1px solid #dce5ed;color:#19344e}
.ocg-dialog-accept{background:linear-gradient(120deg,#efc16c,#d69a3d);border:0;color:#11253a}
@media(max-width:700px){.ocg-site .ocg-booking .ocg-wrap:has(#loginform){padding:26px 22px;border-radius:18px}.ocg-wrap #loginform,.ocg-wrap .ocg-form{grid-template-columns:1fr}.ocg-wrap #loginform .login-username,.ocg-wrap #loginform .login-password{grid-column:1}.ocg-wrap .ocg-form{padding:21px}.ocg-dialog{padding:25px}.ocg-site .ocg-booking>h2{font-size:32px}}

/* v20 — accessible consent rows; override generic .ocg-form label/input rules */
.ocg-wrap .ocg-form .ocg-consent-group{display:grid;gap:14px;margin:8px 0 12px;grid-column:1/-1}
.ocg-wrap .ocg-form label.ocg-consent-row{display:flex!important;align-items:flex-start!important;gap:13px!important;width:100%;margin:0!important;padding:15px 17px;border:1px solid #dce5ee;border-radius:14px;background:#f8fafc;font-size:14px;font-weight:400;line-height:1.55;color:#18334d;cursor:pointer;box-sizing:border-box}
.ocg-wrap .ocg-form label.ocg-consent-row:focus-within{outline:3px solid #e8b96777;outline-offset:2px}
.ocg-wrap .ocg-form label.ocg-consent-row input[type=checkbox],.ocg-wrap .ocg-form .ocg-consent-row input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;flex:0 0 19px!important;width:19px!important;height:19px!important;min-width:19px!important;min-height:19px!important;max-width:19px!important;max-height:19px!important;padding:0!important;margin:2px 0 0!important;box-shadow:none!important;border-radius:4px!important;accent-color:#b17d28;vertical-align:top}
.ocg-wrap .ocg-form .ocg-consent-row span{display:block;flex:1;min-width:0}
.ocg-wrap .ocg-form .ocg-consent-row strong{font-weight:700;color:#7d5a20}
