/* Use the existing local brand fonts even on pages without an Elementor heading. */
@font-face {
  font-family:'Trade gothic'; font-style:normal; font-weight:400; font-display:swap;
  src:url('https://romeocinnerino.org/wp-content/uploads/2025/09/Trade-Gothic-LT.ttf') format('truetype');
}
@font-face {
  font-family:'Trade gothic bold'; font-style:normal; font-weight:400; font-display:swap;
  src:url('https://romeocinnerino.org/wp-content/uploads/2025/09/Trade-Gothic-LT-Bold.ttf') format('truetype');
}
body { background-color:#EDE3D0; color:#000; font-family:'Trade gothic',sans-serif; }

/* The normal theme fallbacks (including 404) inherit the same editorial canvas. */
body:is(.error404,.archive,.single-post,.search) .site-main {
  box-sizing:border-box; width:100%; max-width:1100px; margin:0 auto;
  padding:48px 24px 64px; min-height:300px; font-size:18px; line-height:1.5;
}
body:is(.error404,.archive,.single-post,.search) .site-main :is(h1,h2,h3) {
  color:#EA4513; font-family:'Trade gothic bold',sans-serif; font-weight:400; line-height:1.2;
}
body:is(.error404,.archive,.single-post,.search) .site-main h1 { font-size:36px; margin:0 0 28px; }
body:is(.error404,.archive,.single-post,.search) .site-main a { color:#EA4513; text-decoration:underline; text-underline-offset:3px; }
body:is(.archive,.single-post,.search) .site-main :is(input:not([type=hidden]):not([type=submit]):not([type=checkbox]):not([type=radio]),textarea,select) {
  box-sizing:border-box; max-width:100%; min-height:48px; padding:11px 14px; border:1px solid #767166;
  border-radius:0; background:#F5D9A0; color:#000; font:inherit; box-shadow:none;
}
body:is(.archive,.single-post,.search) .site-main :is(button,input[type=submit]) {
  min-height:48px; padding:12px 24px; border:1px solid #EA4513; border-radius:0;
  background:#EA4513; color:#000; font:400 18px/1.3 'Trade gothic bold',sans-serif; box-shadow:none;
}
body:is(.archive,.single-post,.search) .site-main :is(button,input[type=submit]):hover { background:#F5D9A0; }
body:is(.archive,.single-post,.search) .site-main :is(input,textarea,select,button):focus-visible { outline:2px solid #000; outline-offset:3px; }

/* Scope plugin overrides to the five service pages, leaving editorial pages intact. */
body.romeo-service-page :is(.elementor-widget-shortcode,.elementor-widget-shortcode .elementor-widget-container) {
  width:100%; min-width:0;
}
body.romeo-service-page [data-elementor-type='wp-page'] .elementor-widget.elementor-widget-shortcode { padding:0 !important; }
body.romeo-service-page .elementor-widget-shortcode .elementor-shortcode #user-registration { padding:0 !important; }
body.romeo-service-page [data-elementor-type='wp-page'] > .e-con {
  padding:40px 24px 56px; --padding-top:40px; --padding-right:24px; --padding-bottom:56px; --padding-left:24px;
}
body.romeo-service-page [data-elementor-type='wp-page'] > .e-con > .e-con-inner { padding-block:0 !important; }
body.romeo-service-page #user-registration,
body.romeo-service-page #ur-frontend-form,
body.romeo-service-page .ur-frontend-form {
  box-sizing:border-box; width:100%; max-width:560px !important; margin:0 auto !important;
  padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important;
  font-family:'Trade gothic',sans-serif !important; font-size:18px !important; font-weight:400; line-height:1.5; color:#000;
}
body.page-id-39 #user-registration { max-width:900px !important; }
body.page-id-57 .ur-frontend-form { max-width:760px !important; }
body.page-id-57 .ur-frontend-form .ur-form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
body.page-id-57 .ur-frontend-form .ur-form-row .ur-form-grid { width:100% !important; }
body.page-id-57 .ur-frontend-form .ur-field-item { margin-bottom:24px !important; }
body.page-id-57 .ur-frontend-form .ur-button-container { width:100%; padding:0 !important; }
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) *,
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) *::before,
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) *::after { box-sizing:border-box; }
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) :is(p,span,label,legend,input,select,textarea,button) {
  font-family:'Trade gothic',sans-serif; font-size:inherit; font-weight:400; line-height:1.5;
}
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) :is(h1,h2,h3,.ur-lost-password-title) {
  font-family:'Trade gothic bold',sans-serif; font-weight:400; line-height:1.2; color:#EA4513 !important;
}
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) :is(h1,h2,.ur-lost-password-title) { font-size:32px !important; margin:0 0 28px; }
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) p { margin:0 0 20px; }
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) a {
  color:#EA4513 !important; font-family:'Trade gothic',sans-serif; font-size:inherit; font-weight:400;
  text-decoration:underline; text-underline-offset:3px;
}
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) a:hover { color:#000 !important; }
body.romeo-service-page .elementor-widget-heading .elementor-heading-title {
  font-family:'Trade gothic',sans-serif; font-size:36px; font-weight:400; line-height:1.2; color:#000; text-align:center;
}
body.page-id-38 .elementor-widget-heading { margin-bottom:28px; }

/* Account navigation retains all native links, icons and active-page semantics. */
body.romeo-service-page #user-registration .user-registration-MyAccount-navigation { border:0; border-bottom:1px solid rgba(0,0,0,.2); background:transparent !important; }
body.romeo-service-page #user-registration .user-registration-MyAccount-navigation ul {
  display:flex; flex-wrap:wrap; justify-content:center; gap:0 12px; margin:0; padding:0; list-style:none;
}
body.romeo-service-page #user-registration .user-registration-MyAccount-navigation li { margin:0; padding:0; flex:0 1 auto; }
body.romeo-service-page #user-registration .user-registration-MyAccount-navigation li a {
  display:flex; align-items:center; justify-content:center; gap:8px; min-height:52px;
  padding:14px 16px !important; border:0; border-bottom:2px solid transparent !important; border-radius:0;
  background:transparent !important; color:#000 !important; font-size:18px; line-height:1.3; text-decoration:none;
}
body.romeo-service-page #user-registration .user-registration-MyAccount-navigation li a i { margin:0; font-size:16px; }
body.romeo-service-page #user-registration .user-registration-MyAccount-navigation li:is(.is-active,:hover) a,
body.romeo-service-page #user-registration .user-registration-MyAccount-navigation li a:focus-visible {
  color:#EA4513 !important; background:transparent !important; border-bottom-color:#EA4513 !important;
}
body.romeo-service-page #user-registration .user-registration-MyAccount-content { width:100%; padding:36px 0 0; background:transparent; }
body.romeo-service-page #user-registration .user-registration-profile-header:not(:has(img)):not(:has(h3)) { display:none !important; }
body.romeo-service-page #user-registration .user-registration-MyAccount-content__body { padding:0; }

/* Native labels, inputs, required markers, hidden fields and form handlers stay intact. */
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) :is(.ur-form-row,.ur-form-grid) {
  width:100%; max-width:100%; min-width:0; margin:0; padding:0;
}
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) form { margin:0; padding:0; background:transparent; }
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) fieldset { margin:0; padding:0; border:0; }
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) label { display:block; color:#000; margin:0 0 8px !important; font-size:inherit !important; }
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]):not([type=hidden]),
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) :is(select,textarea) {
  display:block; width:100%; max-width:100%; min-width:0; min-height:48px; margin:0; padding:11px 14px;
  border:1px solid #767166 !important; border-radius:0 !important; background:#F5D9A0 !important; color:#000; box-shadow:none !important; font-size:18px !important;
}
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) input::placeholder { color:#514b40; opacity:1; }
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) input:autofill {
  box-shadow:0 0 0 1000px #F5D9A0 inset !important; -webkit-text-fill-color:#000;
}
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) .ur-input-with-icon input { padding-left:42px !important; }
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) :is(input[type=checkbox],input[type=radio]) { accent-color:#EA4513; width:18px; height:18px; flex-shrink:0; }
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) label.user-registration-form__label-for-checkbox { display:flex; align-items:center; gap:8px; }
body.romeo-service-page .user-registration-LostPassword { font-size:16px !important; }
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) .dashicons { font-family:dashicons !important; }
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) :is(button[type=submit],input[type=submit],.user-registration-Button),
body.page-id-39 #user-registration .user-registration-MyAccount-content a[href$='/album/'] {
  display:inline-block; min-height:48px; max-width:100%; margin:0; padding:12px 24px !important;
  border:1px solid #EA4513 !important; border-radius:0 !important; background:#EA4513 !important; color:#000 !important;
  font-family:'Trade gothic bold',sans-serif !important; font-size:18px !important; font-weight:400 !important;
  line-height:1.3; text-align:center; text-transform:none !important; text-decoration:none !important;
  white-space:normal; overflow-wrap:anywhere; box-shadow:none !important; cursor:pointer;
}
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) :is(button[type=submit],input[type=submit],.user-registration-Button):hover,
body.page-id-39 #user-registration .user-registration-MyAccount-content a[href$='/album/']:hover { background:#F5D9A0 !important; color:#000 !important; }
body.romeo-service-page #user-registration .edit-password { max-width:560px; margin:0 auto; }
body.romeo-service-page #user-registration .ur-frontend-form .ur-form-grid > p:last-child { float:none; margin-bottom:0; }
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) .ur-frontend-form { padding:0 !important; border:0; }
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) :is(.user-registration-error,.user-registration-message,.user-registration-info) {
  margin:0 0 24px; padding:16px 20px; border:1px solid #767166; border-left:3px solid #EA4513;
  border-radius:0; background:#F5D9A0; color:#000; box-shadow:none;
}
body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) :is(a,input,select,textarea,button):focus-visible,
body:is(.error404,.archive,.single-post,.search) .site-main a:focus-visible { outline:2px solid #000; outline-offset:3px; }

/* Target only User Registration's logout dialog, including its late-loaded CSS. */
body .user-registration-logout-swal2-container .swal2-popup.swal2-modal {
  box-sizing:border-box; width:520px; max-width:calc(100% - 32px);
  max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow-y:auto;
  padding:28px !important; border:1px solid rgba(0,0,0,.2); border-radius:0;
  background:#EDE3D0; color:#000; font-family:'Trade gothic',sans-serif; font-size:18px;
}
body .user-registration-logout-swal2-container .swal2-popup.swal2-modal .swal2-header { padding:0; align-items:stretch; }
body .user-registration-logout-swal2-container .swal2-popup.swal2-modal .swal2-header h2 {
  width:100%; margin:0 0 20px; padding:0 0 16px; border-bottom:1px solid rgba(0,0,0,.18);
  color:#EA4513; font-family:'Trade gothic bold',sans-serif; font-size:28px; font-weight:400; line-height:1.2; text-align:left;
}
body .user-registration-logout-swal2-container .swal2-popup.swal2-modal :is(.swal2-content,.swal2-html-container) {
  margin:0; padding:0; color:#000; font-family:'Trade gothic',sans-serif; font-size:18px; font-weight:400; line-height:1.5; text-align:left;
}
body .user-registration-logout-swal2-container .swal2-popup.swal2-modal .swal2-actions {
  width:100%; display:flex; flex-direction:row-reverse; flex-wrap:wrap; gap:12px;
  margin:24px 0 0; padding:0; border:0; border-radius:0; background:transparent;
}
body .user-registration-logout-swal2-container .swal2-popup.swal2-modal .swal2-actions button.swal2-styled {
  flex:1 1 0; width:auto; min-width:0; min-height:48px; margin:0; padding:12px 18px;
  border:1px solid #767166; border-radius:0; box-shadow:none !important;
  background:transparent !important; color:#000; font-family:'Trade gothic',sans-serif; font-size:18px; font-weight:400; line-height:1.3;
}
body .user-registration-logout-swal2-container .swal2-popup.swal2-modal .swal2-actions button.swal2-confirm {
  border-color:#EA4513; background:#EA4513 !important; color:#000; font-family:'Trade gothic bold',sans-serif;
}
body .user-registration-logout-swal2-container .swal2-popup.swal2-modal .swal2-actions button.swal2-styled:hover {
  background:#F5D9A0 !important; background-image:none;
}
body .user-registration-logout-swal2-container .swal2-popup.swal2-modal .swal2-actions button.swal2-styled:focus-visible { outline:2px solid #000; outline-offset:3px; }
@media(max-width:480px) {
  body .user-registration-logout-swal2-container .swal2-popup.swal2-modal { padding:20px !important; }
  body .user-registration-logout-swal2-container .swal2-popup.swal2-modal .swal2-header h2 { font-size:24px; }
  body .user-registration-logout-swal2-container .swal2-popup.swal2-modal :is(.swal2-content,.swal2-html-container) { font-size:16px; }
  body .user-registration-logout-swal2-container .swal2-popup.swal2-modal .swal2-actions { flex-direction:column-reverse; }
  body .user-registration-logout-swal2-container .swal2-popup.swal2-modal .swal2-actions button.swal2-styled { flex:0 0 auto; width:100%; }
}

@media(max-width:1024px) {
  /* The authenticated account icon shares the mobile menu's row. */
  :is(.elementor-126,.elementor-385).elementor-location-header > .e-con:first-child { position:relative; }
  :is(.elementor-126,.elementor-385).elementor-location-header .elementor-widget-icon:has(a[href$='/account/']) {
    position:absolute; top:16px; left:16px; width:44px; height:44px; margin:0;
    display:flex; align-items:center; justify-content:center;
  }
}
@media(max-width:767px) {
  body.page-id-57 .ur-frontend-form .ur-form-row { grid-template-columns:minmax(0,1fr); gap:0; }
  body.romeo-service-page [data-elementor-type='wp-page'] > .e-con { padding:28px 20px 40px; --padding-top:28px; --padding-right:20px; --padding-bottom:40px; --padding-left:20px; }
  body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) { font-size:16px !important; }
  body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) :is(h1,h2,.ur-lost-password-title),
  body.romeo-service-page .elementor-widget-heading .elementor-heading-title { font-size:28px !important; }
  body.romeo-service-page #user-registration .user-registration-MyAccount-navigation ul { gap:0; }
  body.romeo-service-page #user-registration .user-registration-MyAccount-navigation li { flex:1 1 100%; }
  body.romeo-service-page #user-registration .user-registration-MyAccount-navigation li a { font-size:18px; min-height:48px; padding:12px; }
  body.romeo-service-page #user-registration .user-registration-MyAccount-content { padding-top:28px; }
  body.romeo-service-page :is(#user-registration,#ur-frontend-form,.ur-frontend-form) :is(button[type=submit],input[type=submit],.user-registration-Button),
  body.page-id-39 #user-registration .user-registration-MyAccount-content a[href$='/album/'] { width:100% !important; }
  body:is(.error404,.archive,.single-post,.search) .site-main { padding:28px 20px 40px; font-size:16px; min-height:260px; }
  body:is(.error404,.archive,.single-post,.search) .site-main h1 { font-size:32px; }
}
