/* VECTO Private Room - front end. Defaults match the approved design; Elementor style controls override them. */

/* Password form */
.vpr-access-form{display:flex;flex-direction:column;gap:8px;font-family:Roboto,sans-serif}
.vpr-access-label{font-family:Jura,sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;color:#9AA5BE;text-transform:uppercase}
.vpr-access-field{height:56px;display:flex;align-items:center;gap:8px;padding:0 8px 0 18px;border-radius:14px;background:rgba(18,29,61,.7);border:1px solid rgba(196,210,245,.28);box-sizing:border-box}
.vpr-access-field.has-error{border-color:#F75F41}
.vpr-access-form .vpr-access-input{flex:1 1 auto;min-width:0;height:100%;background:none!important;border:0!important;outline:0;box-shadow:none!important;padding:0!important;color:#fff;font-family:Jura,sans-serif;font-size:16px;letter-spacing:2px}
.vpr-access-form .vpr-access-input::placeholder{color:#7B89AA}
.vpr-access-form .vpr-access-eye{width:44px;height:44px;flex:0 0 44px;display:flex;align-items:center;justify-content:center;padding:0;margin:0;border:0;border-radius:0;background:none;color:#9AA5BE;cursor:pointer;box-shadow:none}
.vpr-access-form .vpr-access-eye:hover,.vpr-access-form .vpr-access-eye:focus,.vpr-access-form .vpr-access-eye[aria-pressed=true]{color:#fff;background:none;border:0}
.vpr-access-error{margin:0;font-size:13px;line-height:18px;color:#FF8266}
.vpr-access-form .vpr-access-submit{margin-top:16px;padding:0 24px;border-style:none;text-transform:uppercase;line-height:1;height:56px;width:100%;border:0;border-radius:28px;background:#F75F41;color:#fff;font-family:Jura,sans-serif;font-size:14px;font-weight:700;letter-spacing:2px;display:flex;align-items:center;justify-content:center;gap:14px;cursor:pointer;transition:background-color .2s}
.vpr-access-form .vpr-access-submit:hover,.vpr-access-form .vpr-access-submit:focus{background:#FF8266;color:#fff;border-style:none}
.vpr-lock-fallback{max-width:420px;margin:15vh auto;padding:32px;background:#213462;border-radius:24px}
body.vpr-lock-screen{margin:0;background:#121D3D}

/* Lookbook search */
.vpr-lookbook-search{display:flex;align-items:center;gap:10px;height:46px;border:solid rgba(196,210,245,.35);border-width:0 0 1px 0;color:#F75F41;box-sizing:border-box}
.vpr-lookbook-search svg{flex:0 0 14px;color:#F75F41}
.vpr-lookbook-search .vpr-lookbook-search-input{flex:1 1 auto;min-width:0;background:none!important;border:0!important;outline:0;box-shadow:none!important;padding:0!important;color:#fff;font-family:Jura,sans-serif;font-size:13px}
.vpr-lookbook-search-input::placeholder{color:#7B89AA}
.vpr-lookbook-search-input::-webkit-search-cancel-button{filter:invert(1)}
.vpr-lookbook-empty{margin:24px 0 0;color:#9AA5BE}

/* Request form: hidden conditional fields */
.vpr-hidden{display:none!important}

/* Request form: radio and checkbox groups shown as tiles. Add the class "vpr-request-form" to the Form widget. */
.vpr-request-form .elementor-field-type-radio .elementor-field-subgroup,
.vpr-request-form .elementor-field-type-checkbox .elementor-field-subgroup{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%}
.vpr-request-form .elementor-field-group-dress_code .elementor-field-subgroup{grid-template-columns:repeat(2,minmax(0,1fr))}
.vpr-request-form .elementor-field-subgroup .elementor-field-option{position:relative;margin:0!important;padding:0!important;display:flex}
.vpr-request-form .elementor-field-subgroup .elementor-field-option input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.vpr-request-form .elementor-field-subgroup .elementor-field-option label{flex:1 1 auto;min-height:56px;display:flex!important;align-items:center;gap:12px;padding:8px 16px!important;margin:0!important;border:1px solid #C4D2F5;border-radius:12px;background:#fff;color:#213462;font-family:Jura,sans-serif!important;font-size:13px!important;line-height:17px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s;box-sizing:border-box}
.vpr-request-form .elementor-field-subgroup .elementor-field-option label::before{content:"";flex:0 0 16px;width:16px;height:16px;border-radius:8px;border:1px solid #C4D2F5;background:#fff;box-sizing:border-box;transition:inherit}
.vpr-request-form .elementor-field-subgroup .elementor-field-option label:hover{border-color:#213462}
.vpr-request-form .elementor-field-subgroup .elementor-field-option input:checked+label{background:#213462;border-color:#213462;color:#fff}
.vpr-request-form .elementor-field-subgroup .elementor-field-option input:checked+label::before{background:#F75F41;border-color:#F75F41}
.vpr-request-form .elementor-field-subgroup .elementor-field-option input:focus-visible+label{outline:2px solid #F75F41;outline-offset:2px}
@media(max-width:767px){
	.vpr-request-form .elementor-field-type-radio .elementor-field-subgroup,
	.vpr-request-form .elementor-field-type-checkbox .elementor-field-subgroup{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
	.vpr-request-form .elementor-field-group-nda .elementor-field-subgroup,
	.vpr-request-form .elementor-field-group-media .elementor-field-subgroup{grid-template-columns:repeat(3,minmax(0,1fr))}
	.vpr-request-form .elementor-field-group-contact_method .elementor-field-subgroup{grid-template-columns:minmax(0,.8fr) minmax(0,1.05fr) minmax(0,1.25fr)}
	.vpr-request-form .elementor-field-subgroup .elementor-field-option label{min-height:52px;padding:8px 12px!important;font-size:12px!important;line-height:16px!important;gap:10px}
	.vpr-request-form .elementor-field-subgroup .elementor-field-option label::before{flex-basis:14px;width:14px;height:14px}
}

/* Request form: calendar (Elementor date field, flatpickr) */
.flatpickr-calendar{border:1px solid #E4E9F4;border-radius:16px;box-shadow:0 24px 48px rgba(24,39,76,.18);font-family:Jura,sans-serif}
.flatpickr-day{border-radius:18px;color:#213462;font-weight:600}
.flatpickr-day.selected,.flatpickr-day.selected:hover{background:#F75F41;border-color:#F75F41;color:#fff}
.flatpickr-day.today{border-color:#C4D2F5}
.flatpickr-months .flatpickr-month,.flatpickr-current-month{color:#213462;font-weight:700}

/* Lookbook artist card (loop item "Private Lookbook Artist Card") */
.vpr-lookbook-grid{counter-reset:vpr-card}
.vpr-lookbook-grid .e-loop-item{counter-increment:vpr-card}
.vpr-card-no .elementor-heading-title::after{content:counter(vpr-card,decimal-leading-zero)}
.vpr-card-awards:not(:has(.vpr-award-text .elementor-heading-title)){display:none}
.vpr-watch:not(:has(a[href])){display:none}
.vpr-terms .elementor-post-info__terms-list{display:flex!important;flex-wrap:wrap;gap:8px}
.vpr-terms .elementor-post-info__terms-list-item{display:inline-flex!important;align-items:center;height:30px;padding:0 12px;border-radius:15px;background:rgba(196,210,245,.1);font-family:Jura,sans-serif;font-size:12px;font-weight:600;color:#C4D2F5}
.vpr-terms .elementor-post-info__terms-list{font-size:0}
@media(max-width:767px){.vpr-terms .elementor-post-info__terms-list-item{height:28px}}

/* Private Room: Selected Artists grid, every second artist sits lower (loop grid class "vpr-room-artists") */
@media(min-width:768px){.vpr-room-artists .e-loop-item:nth-child(even of .e-loop-item){margin-top:32px}}
@media(max-width:767px){.vpr-room-artists .e-loop-item:nth-child(even of .e-loop-item){margin-top:24px}}

/* Line breaks that only apply on desktop */
@media (max-width:767px){.vpr-br-desktop br{display:none}}

/* Request form: white section cards.
   A section starts with an HTML field whose Field ID begins with "sec_".
   Set the Form widget column gap and row gap to 0. */
.vpr-request-form .elementor-form-fields-wrapper{margin:0!important}
.vpr-request-form .elementor-field-group{background:#fff;margin:0!important;padding:0 44px 24px!important;box-sizing:border-box}
.vpr-request-form .elementor-field-group.elementor-col-50{padding:0 10px 20px 44px!important}
.vpr-request-form .elementor-col-50+.elementor-col-50{padding:0 44px 20px 10px!important}
.vpr-request-form .elementor-col-50+.elementor-col-50+.elementor-col-50{padding:0 10px 20px 44px!important}
.vpr-request-form .elementor-col-50+.elementor-col-50+.elementor-col-50+.elementor-col-50{padding:0 44px 20px 10px!important}
.vpr-request-form [class*="elementor-field-group-sec_"]{margin-top:24px!important;padding-top:44px!important;border-radius:24px 24px 0 0}
.vpr-request-form [class*="elementor-field-group-sec_"]:first-child{margin-top:0!important}
.vpr-request-form .elementor-field-group:has(+ [class*="elementor-field-group-sec_"]),
.vpr-request-form .elementor-field-group:has(+ .vpr-hidden + [class*="elementor-field-group-sec_"]),
.vpr-request-form .elementor-field-group:has(+ .elementor-field-group-note),
.vpr-request-form .elementor-field-group:has(+ .vpr-hidden + .elementor-field-group-note){padding-bottom:44px!important;border-radius:0 0 24px 24px}
.vpr-request-form [class*="_other"],.vpr-request-form .elementor-field-group-format_recommendation{margin-top:-12px!important}
.vpr-fs-head{display:flex;align-items:baseline;gap:18px;border-bottom:1px solid #E4E9F4;padding-bottom:22px;width:100%}
.vpr-fs-num{font-family:Jura,sans-serif;font-size:44px;line-height:44px;font-weight:400;color:transparent;-webkit-text-stroke:1.4px #F75F41}
.vpr-fs-title{font-family:Jura,sans-serif;font-size:26px;line-height:30px;font-weight:700;letter-spacing:1px;color:#213462}
.vpr-form-note{display:flex;align-items:center;gap:10px;margin:-6px 0 0;font-family:Roboto,sans-serif;font-size:14px;line-height:22px;font-weight:400;color:#505A74}
.vpr-form-note svg{flex:0 0 auto}
/* Labels and inputs */
.vpr-request-form .elementor-field-label{margin-bottom:0}
.vpr-request-form .elementor-field-type-radio .elementor-field-label,.vpr-request-form .elementor-field-type-checkbox .elementor-field-label{margin-bottom:4px}
.vpr-request-form .elementor-field-group-message .elementor-field-label{font-family:Roboto,sans-serif!important;font-size:15px!important;line-height:24px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:#505A74!important}
.vpr-request-form input.elementor-field-textual,.vpr-request-form select.elementor-field-textual{height:54px;min-height:54px;padding:0 18px!important}
.vpr-request-form textarea.elementor-field-textual{padding:16px 18px!important;line-height:24px}
.vpr-request-form .elementor-field-textual::placeholder{color:#7B89AA;opacity:1}
.vpr-request-form .elementor-field-textual:focus{border-color:#F75F41!important;box-shadow:none!important;outline:0}
.vpr-request-form .elementor-field-type-date input{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none' stroke='%23F75F41' stroke-width='1.3'%3E%3Crect x='1.5' y='3' width='15' height='13.5' rx='2'/%3E%3Cpath d='M1.5 7.5h15M5.5 1v4M12.5 1v4'/%3E%3C/svg%3E") no-repeat right 18px center!important}
/* Bottom row: note left, button right */
.vpr-request-form .elementor-field-group.elementor-field-group-note,.vpr-request-form .elementor-field-group.elementor-field-type-submit{background:transparent;padding:36px 4px 0!important;align-self:center}
.vpr-request-form .elementor-field-group-note .vpr-form-note{margin:0}
@media (max-width:767px){
	.vpr-request-form .elementor-field-group,
	.vpr-request-form .elementor-field-group.elementor-col-50,
	.vpr-request-form .elementor-col-50+.elementor-col-50,
	.vpr-request-form .elementor-col-50+.elementor-col-50+.elementor-col-50,
	.vpr-request-form .elementor-col-50+.elementor-col-50+.elementor-col-50+.elementor-col-50{padding:0 20px 20px!important}
	.vpr-request-form [class*="elementor-field-group-sec_"]{margin-top:14px!important;padding-top:26px!important;border-radius:20px 20px 0 0}
	.vpr-request-form .elementor-field-group:has(+ [class*="elementor-field-group-sec_"]),
	.vpr-request-form .elementor-field-group:has(+ .vpr-hidden + [class*="elementor-field-group-sec_"]),
	.vpr-request-form .elementor-field-group:has(+ .elementor-field-group-note),
	.vpr-request-form .elementor-field-group:has(+ .vpr-hidden + .elementor-field-group-note){padding-bottom:26px!important;border-radius:0 0 20px 20px}
	.vpr-request-form [class*="_other"],.vpr-request-form .elementor-field-group-format_recommendation{margin-top:-10px!important}
	.vpr-fs-head{gap:14px;padding-bottom:16px}
	.vpr-fs-num{font-size:34px;line-height:34px}
	.vpr-fs-title{font-size:18px;line-height:22px}
	.vpr-form-note{align-items:flex-start;font-size:13px;line-height:20px;margin-top:-4px}
	.vpr-form-note svg{margin-top:4px}
	.vpr-request-form input.elementor-field-textual,.vpr-request-form select.elementor-field-textual{height:52px;min-height:52px;padding:0 16px!important}
	.vpr-request-form .elementor-field-type-radio .elementor-field-label,.vpr-request-form .elementor-field-type-checkbox .elementor-field-label{margin-bottom:2px}
	.vpr-request-form .elementor-field-group.elementor-field-type-submit{order:1;padding:24px 8px 0!important}
	.vpr-request-form .elementor-field-group.elementor-field-group-note{order:2;padding:16px 8px 0!important;justify-content:center}
	.vpr-request-form .elementor-field-group-note .vpr-form-note{justify-content:center;align-items:center}
	.vpr-request-form .elementor-field-group-note .vpr-form-note svg{margin-top:0}
}

/* Artist photos in loop items fill the card width (the link wrapper is inline-block by default) */
.vpr-artist-photo a{display:block}

/* Line breaks that only apply on mobile */
@media (min-width:768px){.vpr-br-mobile br{display:none}}

/* Icon list with the icon after the text (class "vpr-icon-after") */
.vpr-icon-after .elementor-icon-list-item,.vpr-icon-after .elementor-icon-list-item>a{flex-direction:row-reverse;justify-content:flex-end}
.vpr-icon-after .elementor-icon-list-icon{padding:0!important;margin-left:14px}

/* Private pages: keep the design side padding on tablet and mobile (the theme forces 15px on boxed sections) */
@media(max-width:991px){.vpr-private .e-con-boxed.e-parent{padding-left:var(--padding-left);padding-right:var(--padding-right)}}

/* Menu link with a lock icon (menu item CSS class "vpr-menu-lock") */
.vpr-menu-lock>a{color:#F75F41!important;display:inline-flex!important;align-items:center;gap:6px}
/* Elementor Nav Menu: keep the widget own flex layout and alignment. */
.elementor-nav-menu .vpr-menu-lock>a.elementor-item{color:#F75F41!important;display:flex!important;align-items:center;gap:6px}
.vpr-menu-lock>a::before{content:"";flex:0 0 11px;width:11px;height:12px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='12' viewBox='0 0 11 12' fill='none' stroke='%23000' stroke-width='1.3'%3E%3Crect x='1' y='5' width='9' height='6.5' rx='1.2'/%3E%3Cpath d='M3 5V3.5a2.5 2.5 0 0 1 5 0V5'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='12' viewBox='0 0 11 12' fill='none' stroke='%23000' stroke-width='1.3'%3E%3Crect x='1' y='5' width='9' height='6.5' rx='1.2'/%3E%3Cpath d='M3 5V3.5a2.5 2.5 0 0 1 5 0V5'/%3E%3C/svg%3E") no-repeat center/contain}
.vpr-menu-lock>a:hover,.vpr-menu-lock>a:focus-visible,.elementor-nav-menu .vpr-menu-lock>a.elementor-item:hover{color:#FF8266!important}
.vpr-menu-lock.current-menu-item>a:not(.elementor-item),.vpr-menu-lock.current-menu-ancestor>a:not(.elementor-item),.vpr-private .vpr-menu-lock>a:not(.elementor-item),.elementor-nav-menu--layout-horizontal .vpr-menu-lock.current-menu-item>a.elementor-item,.elementor-nav-menu--layout-horizontal .vpr-menu-lock.current-menu-ancestor>a.elementor-item,.vpr-private .elementor-nav-menu--layout-horizontal .vpr-menu-lock>a.elementor-item{border-bottom:1px solid currentColor;padding-bottom:2px!important}
/* Vertical and dropdown menus: underline the text only. */
.elementor-nav-menu--layout-vertical .vpr-menu-lock.current-menu-item>a.elementor-item,.elementor-nav-menu--dropdown .vpr-menu-lock.current-menu-item>a.elementor-item,.vpr-private .elementor-nav-menu--layout-vertical .vpr-menu-lock>a.elementor-item,.vpr-private .elementor-nav-menu--dropdown .vpr-menu-lock>a.elementor-item{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.elementor-nav-menu--dropdown .vpr-menu-lock>a,.side-menu .vpr-menu-lock>a{justify-content:center}
/* Elementor nav menu pointers use ::before/::after. Keep our lock icon visible and use our own underline. */
.elementor-nav-menu .vpr-menu-lock>a.elementor-item::before,.elementor-nav-menu .vpr-menu-lock>a.elementor-item-active::before{position:static!important;display:block!important;opacity:1!important;visibility:visible!important;inset:auto!important;width:11px!important;height:12px!important;margin:0!important;transform:none!important;background-color:currentColor!important;border:0!important;transition:none!important}
.vpr-private .elementor-nav-menu .vpr-menu-lock>a.elementor-item::after,.elementor-nav-menu .vpr-menu-lock.current-menu-item>a.elementor-item::after{display:none!important}

/* Buttons (class "vpr-btn"): design arrow size, and the arrow takes the text colour on hover so it never disappears */
.vpr-btn .elementor-button{transition:background-color .2s,color .2s,border-color .2s}
.vpr-btn .elementor-button-icon{color:inherit}
.vpr-btn .elementor-button-icon svg{width:18px!important;height:10px!important}
.vpr-btn .elementor-button-icon svg,.vpr-btn .elementor-button-icon svg *{transition:stroke .2s}
.vpr-btn .elementor-button:hover .elementor-button-icon svg,.vpr-btn .elementor-button:hover .elementor-button-icon svg [stroke],.vpr-btn .elementor-button:focus-visible .elementor-button-icon svg,.vpr-btn .elementor-button:focus-visible .elementor-button-icon svg [stroke]{stroke:currentColor}
@media(max-width:767px){.vpr-btn .elementor-button-icon svg{width:16px!important;height:9px!important}}
/* Same for the request form submit button and the password form button */
.vpr-request-form .elementor-button-icon svg{width:18px!important;height:10px!important}
.vpr-request-form .elementor-button:hover .elementor-button-icon svg,.vpr-request-form .elementor-button:hover .elementor-button-icon svg [stroke]{stroke:currentColor}
.vpr-request-form .elementor-button-icon{color:inherit}

/* Hero background slideshow dots (section class "vpr-hero-slides") */
.vpr-hero-dots{position:absolute;z-index:3;right:max(20px,calc((100% - 1180px) / 2));top:266px;display:flex;flex-direction:column;gap:10px}
.vpr-hero-dot{position:relative;width:6px;height:6px;padding:0!important;margin:0;border:0!important;border-radius:3px!important;background:#9AA5BE!important;cursor:pointer;transition:background-color .2s;box-shadow:none!important;min-height:0!important}
.vpr-hero-dot::before{content:"";position:absolute;inset:-6px}
.vpr-hero-dot.is-active,.vpr-hero-dot:hover{background:#F75F41!important}
.vpr-hero-dot:focus-visible{outline:2px solid #F75F41;outline-offset:3px}
@media(max-width:767px){.vpr-hero-dots{display:none}}

/* Icon widgets on private pages: no extra line height under the icon */
.vpr-private .elementor-widget-icon .elementor-icon-wrapper{line-height:0}

/* Number + title rows aligned on the text baseline, like the design (container class "vpr-baseline") */
.e-con.vpr-baseline{--align-items:baseline;align-items:baseline}
