/* ─────────────────────────────────────────────────────────────────────────
   MODAL FORMS — styles for the tour booking + residency enquiry modals
   Loaded conditionally on Residency Programme page (via functions.php).

   Extends modal.css (the base modal chrome — backdrop, open/close animation,
   display:flex always, pointer-events toggle, iOS easing).

   This file adds:
     1. Modal card width variants (modal-card-wide, modal-card-medium)
     2. Shared form field styles (mv-form-*)
     3. Tour modal layout (two-column grid + calendar + windows)
     4. Enquiry modal layout (single-column + radio cards)
     5. Shared form success state (modal-form-success-*)
     6. Mobile responsive (≤860px tablet, ≤480px mobile)
   ───────────────────────────────────────────────────────────────────── */


/* ── MODAL CARD WIDTH VARIANTS ──────────────────────────────────────── */
/* The default .modal-card is centred and ~500px wide for the triage modal.
   modal-card-wide expands for form-heavy modals with calendars.
   modal-card-medium is for single-column form modals. */
.modal-card-wide{
	max-width:920px;
	width:min(920px, calc(100vw - 32px));
}
.modal-card-medium{
	max-width:620px;
	width:min(620px, calc(100vw - 32px));
}

/* Tour and enquiry modals manage their own internal padding via the
   .modal-X-inner wrappers; zero out the base .modal-card padding here
   so the two don't compound. */
.modal-tour > .modal-card,
.modal-enquiry > .modal-card{
	padding:0;
}

/* Button reset for the residency triage option buttons.
   They use .modal-opt for visual styling but need <button> semantics
   stripped of browser defaults. */
.mv-opt-btn{
	width:100%;
	background:none;
	font-family:inherit;
	text-align:left;
	cursor:pointer;
	-webkit-appearance:none;
	-webkit-tap-highlight-color:transparent;
	touch-action:manipulation;
}


/* ── SHARED FORM FIELD STYLES (mv-form-*) ───────────────────────────── */
.mv-form-block{
	margin-bottom:28px;
}
.mv-form-block:last-child{margin-bottom:0;}

.mv-form-field{
	margin-bottom:18px;
}
.mv-form-field:last-child{margin-bottom:0;}

.mv-form-label{
	display:block;
	font-size:11px;font-weight:500;
	letter-spacing:.1em;text-transform:uppercase;
	color:var(--on-cream-label);
	margin-bottom:8px;
}

.mv-form-help{
	font-size:13px;
	color:var(--on-light-body);
	line-height:1.55;
	margin:0 0 14px 0;
	text-wrap:pretty;
}

.mv-form-optional{
	text-transform:none;
	letter-spacing:0;
	font-weight:400;
	font-size:11px;
	color:rgba(27,58,45,.4);
	margin-left:4px;
}

.mv-form-input,
.mv-form-select,
.mv-form-textarea{
	width:100%;
	background:#fff;
	border:1px solid rgba(27,58,45,.15);
	border-radius:6px;
	padding:12px 14px;
	font-size:15px;
	font-family:inherit;
	color:var(--on-light-h);
	line-height:1.4;
	transition:border-color .2s, box-shadow .2s;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
}
.mv-form-input:focus,
.mv-form-select:focus,
.mv-form-textarea:focus{
	outline:none;
	border-color:var(--hub-residency);
	box-shadow:0 0 0 3px rgba(59,109,17,.12);
}
.mv-form-input::placeholder{
	color:rgba(27,58,45,.35);
}
.mv-form-textarea{
	resize:vertical;
	min-height:80px;
}

/* Native select needs a custom chevron since appearance:none strips it */
.mv-form-select{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%231B3A2D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 14px center;
	padding-right:38px;
	cursor:pointer;
}

/* Invalid state — applied by JS, not :invalid pseudo (avoids showing errors
   before user has interacted with the field) */
.mv-form-input.is-invalid,
.mv-form-select.is-invalid,
.mv-form-textarea.is-invalid{
	border-color:#A4453A;
	box-shadow:0 0 0 3px rgba(164,69,58,.1);
}

.mv-form-error{
	font-size:13px;
	color:#A4453A;
	margin-top:6px;
	min-height:18px;
	line-height:1.4;
}

.mv-form-status{
	font-size:14px;
	color:var(--on-light-body);
	min-height:20px;
	flex:1;
	line-height:1.4;
}
.mv-form-status.is-error{color:#A4453A;}

.mv-form-submit{
	background:var(--hub-residency);
	color:#fff;
	border:none;
	border-radius:6px;
	padding:0 32px;
	height:48px;
	font-size:15px;
	font-weight:500;
	font-family:inherit;
	cursor:pointer;
	transition:opacity .2s, transform .15s;
	-webkit-tap-highlight-color:transparent;
	touch-action:manipulation;
	min-width:160px;
	flex-shrink:0;
}
.mv-form-submit:hover:not(:disabled){opacity:.9;}
.mv-form-submit:active:not(:disabled){transform:translateY(1px);}
.mv-form-submit:disabled{
	opacity:.5;
	cursor:wait;
}


/* Subtle policy line that sits below the submit button. */
.mv-form-policy{
	font-size:12px;
	color:rgba(27,58,45,.5);
	line-height:1.55;
	margin:14px 0 0 0;
	text-align:left;
}
.mv-form-policy a{
	color:var(--hub-residency);
	text-decoration:underline;
	text-underline-offset:2px;
}
.mv-form-policy a:hover{
	opacity:.8;
}


/* ═══════════════════════════════════════════════════════════════════════
   TOUR MODAL
   ═══════════════════════════════════════════════════════════════════════ */

.modal-tour-inner{
	padding:48px 48px 40px;
	max-height:90vh;
	overflow-y:auto;
}

.modal-tour-header{
	margin-bottom:32px;
	max-width:520px;
}
.modal-tour-brow{
	font-size:11px;font-weight:500;
	letter-spacing:.12em;text-transform:uppercase;
	color:var(--hub-residency);
	margin-bottom:12px;
}
.modal-tour-h{
	font-family:var(--font-heading);
	font-size:clamp(26px,3vw,32px);
	font-weight:500;
	color:var(--on-light-h);
	line-height:1.2;
	text-wrap:balance;
	margin:0 0 12px 0;
}
.modal-tour-sub{
	font-size:15px;
	color:var(--on-light-body);
	line-height:1.65;
	text-wrap:pretty;
	margin:0;
}

/* Two-column form grid */
.modal-tour-grid{
	display:grid;
	grid-template-columns:1.05fr 1fr;
	gap:48px;
	margin-bottom:32px;
}

.modal-tour-col{
	min-width:0; /* prevents grid blowout */
}


/* ── TOUR CALENDAR ──────────────────────────────────────────────────── */
.tour-calendar{
	background:var(--surface-cream);
	border-radius:10px;
	padding:16px;
}

.tour-cal-nav{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	margin-bottom:12px;
}
.tour-cal-nav-btn{
	width:36px;height:36px;
	border-radius:50%;
	background:#fff;
	border:1px solid rgba(27,58,45,.1);
	font-size:18px;
	color:var(--on-light-h);
	cursor:pointer;
	display:flex;align-items:center;justify-content:center;
	transition:background .2s, border-color .2s;
	font-family:inherit;
	-webkit-tap-highlight-color:transparent;
	touch-action:manipulation;
	flex-shrink:0;
}
.tour-cal-nav-btn:hover:not(:disabled){
	background:#fff;
	border-color:var(--hub-residency);
	color:var(--hub-residency);
}
.tour-cal-nav-btn:disabled{
	opacity:.3;
	cursor:not-allowed;
}
.tour-cal-month{
	font-family:var(--font-heading);
	font-size:17px;
	font-weight:500;
	color:var(--on-light-h);
}

.tour-cal-dows{
	display:grid;
	grid-template-columns:repeat(7,1fr);
	gap:2px;
	margin-bottom:4px;
}
.tour-cal-dow{
	font-size:10px;font-weight:500;
	letter-spacing:.06em;text-transform:uppercase;
	color:rgba(27,58,45,.4);
	text-align:center;
	padding:8px 0 4px;
}

.tour-cal-grid{
	display:grid;
	grid-template-columns:repeat(7,1fr);
	gap:2px;
}

.tour-cal-day{
	aspect-ratio:1;
	display:flex;align-items:center;justify-content:center;
	font-size:14px;
	font-family:inherit;
	color:var(--on-light-h);
	background:#fff;
	border:1px solid transparent;
	border-radius:6px;
	cursor:pointer;
	transition:background .15s, color .15s, border-color .15s, transform .1s;
	-webkit-tap-highlight-color:transparent;
	touch-action:manipulation;
	-webkit-appearance:none;
	padding:0;
	position:relative;
	min-height:38px;
}
.tour-cal-day:hover:not(:disabled){
	background:var(--surface-cream);
	border-color:var(--hub-residency);
}
.tour-cal-day:active:not(:disabled){transform:scale(.96);}
.tour-cal-day.selected{
	background:var(--hub-residency);
	color:#fff;
	border-color:var(--hub-residency);
	font-weight:500;
}
.tour-cal-day.selected:hover{
	background:var(--hub-residency);
	color:#fff;
}
.tour-cal-day.today:not(.selected){
	font-weight:600;
	color:var(--hub-residency);
}
.tour-cal-day.today:not(.selected)::after{
	content:'';
	position:absolute;
	bottom:5px;left:50%;
	transform:translateX(-50%);
	width:4px;height:4px;
	border-radius:50%;
	background:var(--hub-residency);
}
.tour-cal-day.selected.today::after{display:none;}

.tour-cal-day:disabled,
.tour-cal-day.disabled{
	color:rgba(27,58,45,.2);
	cursor:not-allowed;
	background:transparent;
}
.tour-cal-day:disabled:hover,
.tour-cal-day.disabled:hover{
	background:transparent;
	border-color:transparent;
}

.tour-cal-empty{
	aspect-ratio:1;
	min-height:38px;
}


/* ── TOUR TIME WINDOWS ──────────────────────────────────────────────── */
.tour-windows{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
}

.tour-window{
	display:block;
	cursor:pointer;
	-webkit-tap-highlight-color:transparent;
	touch-action:manipulation;
}
/* Hide the native radio; visual state lives on .tour-window-card */
.tour-window input[type="radio"]{
	position:absolute;
	opacity:0;
	width:0;height:0;
	pointer-events:none;
}
.tour-window-card{
	display:block;
	background:#fff;
	border:1px solid rgba(27,58,45,.15);
	border-radius:8px;
	padding:14px 16px;
	transition:border-color .2s, background .2s, box-shadow .2s;
}
.tour-window:hover .tour-window-card{
	border-color:var(--hub-residency);
}
.tour-window input[type="radio"]:checked + .tour-window-card{
	border-color:var(--hub-residency);
	background:rgba(59,109,17,.06);
	box-shadow:0 0 0 1px var(--hub-residency);
}
.tour-window input[type="radio"]:focus-visible + .tour-window-card{
	box-shadow:0 0 0 3px rgba(59,109,17,.18);
}
.tour-window-title{
	display:block;
	font-size:15px;font-weight:500;
	color:var(--on-light-h);
	margin-bottom:2px;
}
.tour-window-time{
	display:block;
	font-size:13px;
	color:rgba(27,58,45,.55);
}


/* ── TOUR MODAL FOOTER (submit row) ─────────────────────────────────── */
.modal-tour-footer{
	display:flex;
	align-items:center;
	gap:20px;
	padding-top:24px;
	border-top:1px solid rgba(27,58,45,.08);
	flex-wrap:wrap;
}


/* ── SUCCESS STATE ──────────────────────────────────────────────────── */
.modal-tour-success{
	padding:64px 48px;
	text-align:center;
	flex-direction:column;
	align-items:center;
}
/* Only show as flex when NOT hidden — keeps the [hidden] attribute
   working (otherwise the class's display:flex beats UA [hidden]:display:none
   on equal specificity, and the success state stays visible forever). */
.modal-tour-success:not([hidden]){display:flex;}
.modal-tour-success-icon{
	width:64px;height:64px;
	border-radius:50%;
	background:rgba(59,109,17,.12);
	color:var(--hub-residency);
	display:flex;align-items:center;justify-content:center;
	margin-bottom:24px;
}
.modal-tour-success-icon svg{
	width:32px;height:32px;
}
.modal-tour-success-h{
	font-family:var(--font-heading);
	font-size:28px;font-weight:500;
	color:var(--on-light-h);
	margin:0 0 12px 0;
	text-wrap:balance;
}
.modal-tour-success-p{
	font-size:16px;
	color:var(--on-light-body);
	line-height:1.65;
	max-width:420px;
	margin:0 0 32px 0;
	text-wrap:pretty;
}
.modal-tour-success-cta{
	background:var(--surface-cream);
	color:var(--on-light-h);
	border:1px solid rgba(27,58,45,.15);
	border-radius:6px;
	padding:0 32px;
	height:44px;
	font-size:14px;font-weight:500;
	font-family:inherit;
	cursor:pointer;
	transition:background .2s, border-color .2s;
	-webkit-tap-highlight-color:transparent;
	touch-action:manipulation;
}
.modal-tour-success-cta:hover{
	background:#fff;
	border-color:var(--hub-residency);
	color:var(--hub-residency);
}


/* ═══════════════════════════════════════════════════════════════════════
   ENQUIRY MODAL
   ═══════════════════════════════════════════════════════════════════════ */

.modal-enquiry-inner{
	padding:48px 48px 40px;
	max-height:90vh;
	overflow-y:auto;
}

.modal-enquiry-header{
	margin-bottom:28px;
}
.modal-enquiry-brow{
	font-size:11px;font-weight:500;
	letter-spacing:.12em;text-transform:uppercase;
	color:var(--hub-residency);
	margin-bottom:12px;
}
.modal-enquiry-h{
	font-family:var(--font-heading);
	font-size:clamp(24px,2.8vw,30px);
	font-weight:500;
	color:var(--on-light-h);
	line-height:1.2;
	text-wrap:balance;
	margin:0 0 12px 0;
}
.modal-enquiry-sub{
	font-size:15px;
	color:var(--on-light-body);
	line-height:1.65;
	text-wrap:pretty;
	margin:0;
}

.modal-enquiry-form{
	display:flex;
	flex-direction:column;
}


/* Side-by-side field row (e.g. email + phone)
   align-items:end keeps inputs aligned at the bottom of the row, even
   if a label wraps to a second line in a narrow column. */
.mv-form-row{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px;
	margin-bottom:18px;
	align-items:end;
}
.mv-form-row .mv-form-field{margin-bottom:0;}


/* ── ENQUIRY INTEREST RADIO CARDS (2×2 grid on desktop) ─────────────── */
.enq-interests{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
}

.enq-interest{
	display:block;
	cursor:pointer;
	-webkit-tap-highlight-color:transparent;
	touch-action:manipulation;
}
.enq-interest input[type="radio"]{
	position:absolute;
	opacity:0;
	width:0;height:0;
	pointer-events:none;
}
.enq-interest-card{
	display:block;
	background:#fff;
	border:1px solid rgba(27,58,45,.15);
	border-radius:8px;
	padding:14px 16px;
	transition:border-color .2s, background .2s, box-shadow .2s;
	min-height:62px;
}
.enq-interest:hover .enq-interest-card{
	border-color:var(--hub-residency);
}
.enq-interest input[type="radio"]:checked + .enq-interest-card{
	border-color:var(--hub-residency);
	background:rgba(59,109,17,.06);
	box-shadow:0 0 0 1px var(--hub-residency);
}
.enq-interest input[type="radio"]:focus-visible + .enq-interest-card{
	box-shadow:0 0 0 3px rgba(59,109,17,.18);
}
.enq-interest-title{
	display:block;
	font-size:15px;font-weight:500;
	color:var(--on-light-h);
	margin-bottom:2px;
}
.enq-interest-sub{
	display:block;
	font-size:13px;
	color:rgba(27,58,45,.55);
}


/* ── ENQUIRY FOOTER (submit row) ────────────────────────────────────── */
.modal-enquiry-footer{
	display:flex;
	align-items:center;
	gap:20px;
	margin-top:8px;
	padding-top:24px;
	border-top:1px solid rgba(27,58,45,.08);
	flex-wrap:wrap;
}


/* ═══════════════════════════════════════════════════════════════════════
   SHARED FORM SUCCESS STATE (modal-form-success-*)
   Generic version used by enquiry; tour uses its own modal-tour-success-*
   classes for now. Future refactor: collapse to this set.
   ═══════════════════════════════════════════════════════════════════════ */

.modal-enquiry-success{
	padding:64px 48px;
	text-align:center;
	flex-direction:column;
	align-items:center;
}
.modal-enquiry-success:not([hidden]){display:flex;}
.modal-form-success-icon{
	width:64px;height:64px;
	border-radius:50%;
	background:rgba(59,109,17,.12);
	color:var(--hub-residency);
	display:flex;align-items:center;justify-content:center;
	margin-bottom:24px;
}
.modal-form-success-icon svg{
	width:32px;height:32px;
}
.modal-form-success-h{
	font-family:var(--font-heading);
	font-size:28px;font-weight:500;
	color:var(--on-light-h);
	margin:0 0 12px 0;
	text-wrap:balance;
}
.modal-form-success-p{
	font-size:16px;
	color:var(--on-light-body);
	line-height:1.65;
	max-width:420px;
	margin:0 0 32px 0;
	text-wrap:pretty;
}
.modal-form-success-cta{
	background:var(--surface-cream);
	color:var(--on-light-h);
	border:1px solid rgba(27,58,45,.15);
	border-radius:6px;
	padding:0 32px;
	height:44px;
	font-size:14px;font-weight:500;
	font-family:inherit;
	cursor:pointer;
	transition:background .2s, border-color .2s;
	-webkit-tap-highlight-color:transparent;
	touch-action:manipulation;
}
.modal-form-success-cta:hover{
	background:#fff;
	border-color:var(--hub-residency);
	color:var(--hub-residency);
}


/* ═══════════════════════════════════════════════════════════════════════
   EVENT ENQUIRY MODAL — layout
   Hub colour: var(--hub-events) Red Merlot.
   ═══════════════════════════════════════════════════════════════════════ */
.modal-events-inner{
	padding:48px 48px 40px;
	max-height:90vh;
	overflow-y:auto;
}
.modal-events-header{margin-bottom:24px;}
.modal-events-brow{
	font-size:11px;font-weight:500;
	letter-spacing:.12em;text-transform:uppercase;
	color:var(--hub-events);
	margin-bottom:10px;
}
.modal-events-h{
	font-family:var(--font-heading);
	font-size:28px;font-weight:500;line-height:1.2;
	color:var(--surface-forest);
	margin:0 0 10px 0;text-wrap:balance;
}
.modal-events-sub{
	font-size:15px;color:var(--on-light-body);
	line-height:1.65;margin:0;text-wrap:pretty;
}
.modal-events-form{display:flex;flex-direction:column;gap:18px;}

.modal-events-footer{
	display:flex;align-items:center;justify-content:space-between;
	gap:18px;margin-top:8px;
}

/* Override submit button border for the events hub colour */
.modal-events-form .mv-form-submit{
	background:var(--hub-events);
}
.modal-events-form .mv-form-submit:hover{opacity:.9;}

/* Events success state uses generic .modal-form-success-* classes,
   but the cta border needs the events hub colour */
.modal-events-success{
	padding:64px 48px;
	flex-direction:column;align-items:center;
	text-align:center;
}
.modal-events-success:not([hidden]){display:flex;}
.modal-events-success .modal-form-success-icon{color:var(--hub-events);}
.modal-events-success .modal-form-success-cta:hover{
	background:#fff;
	border-color:var(--hub-events);
	color:var(--hub-events);
}


/* ═══════════════════════════════════════════════════════════════════════
   RADIO CARDS — generic .mv-radio-card pattern
   New cleaner naming. Use for Events modal event-type selection.
   Tour (.tour-window) and Enquiry (.enq-interest) keep their existing
   class names; refactor to this pattern is on the tech debt list.
   ═══════════════════════════════════════════════════════════════════════ */
.mv-radio-cards{
	display:grid;gap:10px;
	margin-top:8px;
}
.mv-radio-cards-2col{grid-template-columns:1fr 1fr;}

.mv-radio-card{
	display:block;
	background:#fff;
	border:1px solid rgba(27,58,45,.15);
	border-radius:8px;
	padding:14px 16px;
	cursor:pointer;
	transition:border-color .15s, background .15s, box-shadow .15s;
	-webkit-tap-highlight-color:transparent;
	touch-action:manipulation;
	min-height:64px;
	position:relative;
}
.mv-radio-card input{
	position:absolute;opacity:0;pointer-events:none;
}
.mv-radio-card:hover{
	border-color:var(--hub-events);
}
.mv-radio-card:has(input:checked){
	border-color:var(--hub-events);
	background:rgba(93,0,44,.04);
	box-shadow:0 0 0 1px var(--hub-events) inset;
}
/* Fallback for browsers without :has() — JS adds .is-checked */
.mv-radio-card.is-checked{
	border-color:var(--hub-events);
	background:rgba(93,0,44,.04);
	box-shadow:0 0 0 1px var(--hub-events) inset;
}
.mv-radio-card-inner{
	display:flex;flex-direction:column;gap:2px;
	pointer-events:none;
}
.mv-radio-card-title{
	font-size:14px;font-weight:500;
	color:var(--surface-forest);
	line-height:1.35;
}
.mv-radio-card-sub{
	font-size:12px;color:var(--on-light-body);
	line-height:1.45;
}


/* ═══════════════════════════════════════════════════════════════════════
   RESPONSIVE — tablet (≤860px)
   ═══════════════════════════════════════════════════════════════════════ */
@media(max-width:860px){
	.modal-tour-inner{
		padding:32px 28px 28px;
		max-height:95vh;
	}
	.modal-tour-header{margin-bottom:24px;}

	/* Stack columns */
	.modal-tour-grid{
		grid-template-columns:1fr;
		gap:32px;
		margin-bottom:24px;
	}

	.modal-tour-footer{
		flex-direction:column;
		align-items:stretch;
		gap:14px;
	}
	.mv-form-submit{width:100%;}

	.modal-tour-success{padding:48px 28px;}
	.modal-tour-success-h{font-size:24px;}

	/* Enquiry modal: tighten padding, stack email+phone row */
	.modal-enquiry-inner{
		padding:32px 28px 28px;
		max-height:95vh;
	}
	.modal-enquiry-header{margin-bottom:20px;}
	.mv-form-row{
		grid-template-columns:1fr;
		gap:0;
		margin-bottom:0;
	}
	.mv-form-row .mv-form-field{margin-bottom:18px;}
	.modal-enquiry-footer{
		flex-direction:column;
		align-items:stretch;
		gap:14px;
	}
	.modal-enquiry-success{padding:48px 28px;}
	.modal-form-success-h{font-size:24px;}

	/* Events modal: tighten padding, radio cards stack to single column */
	.modal-events-inner{
		padding:32px 28px 28px;
		max-height:95vh;
	}
	.modal-events-header{margin-bottom:20px;}
	.modal-events-h{font-size:24px;}
	.mv-radio-cards-2col{grid-template-columns:1fr;}
	.modal-events-footer{
		flex-direction:column;
		align-items:stretch;
		gap:14px;
	}
	.modal-events-success{padding:48px 28px;}
}


/* ═══════════════════════════════════════════════════════════════════════
   RESPONSIVE — mobile (≤480px)
   ═══════════════════════════════════════════════════════════════════════ */
@media(max-width:480px){
	.modal-tour-inner{padding:24px 20px 20px;}

	.tour-calendar{padding:12px;}
	.tour-cal-day{font-size:13px;min-height:34px;}
	.tour-cal-empty{min-height:34px;}
	.tour-cal-month{font-size:15px;}

	.tour-windows{grid-template-columns:1fr;}
	.tour-window-card{padding:12px 14px;}

	/* Enquiry: collapse interest cards to single column */
	.modal-enquiry-inner{padding:24px 20px 20px;}
	.enq-interests{grid-template-columns:1fr;}
	.enq-interest-card{padding:12px 14px;min-height:auto;}

	.mv-form-input,
	.mv-form-select,
	.mv-form-textarea{
		font-size:16px; /* prevent iOS zoom-on-focus */
	}
}