/* Royal Office Premium 3.0 — Footer */
.royaloffice-footer { margin-top:48px; background:var(--ro-accent); color:#fff; }
.royaloffice-footer a { color:rgba(255,255,255,.86); }
.royaloffice-footer a:hover { color:#fff; }
.royaloffice-container { width:min(calc(100% - 30px), var(--ro-container)); margin:0 auto; }
.royaloffice-benefits { border-bottom:1px solid rgba(255,255,255,.16); }
.royaloffice-benefits-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; padding:21px 0; }
.royaloffice-benefit { display:flex; align-items:flex-start; gap:10px; }
.royaloffice-benefit-icon { flex:0 0 28px; width:28px; height:28px; display:grid; place-items:center; border-radius:8px; background:rgba(255,255,255,.14); color:#fff; font-size:12px; }
.royaloffice-benefit h4 { margin:1px 0 3px; color:#fff; font-size:10.5px; font-weight:850; }
.royaloffice-benefit p { margin:0; color:rgba(255,255,255,.72); font-size:9px; line-height:1.45; }

.royaloffice-main { padding:34px 0 31px; }
.royaloffice-main-grid { display:grid; grid-template-columns:1.45fr .8fr .8fr 1.12fr; gap:44px; }
.royaloffice-title { margin:0 0 13px; color:#fff; font-size:9.5px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.royaloffice-links,.royaloffice-contact-list { list-style:none; margin:0; padding:0; }
.royaloffice-links li { margin:0 0 7px; }
.royaloffice-links a { font-size:10px; line-height:1.35; }
.royaloffice-contact-list li { display:flex; align-items:flex-start; gap:9px; margin:0 0 7px; color:rgba(255,255,255,.82); font-size:9.5px; line-height:1.45; }
.royaloffice-contact-list i { width:14px; padding-top:2px; color:#fff; text-align:center; }
.royaloffice-newsletter-form { display:flex; max-width:330px; height:42px; margin:0 0 10px; }
.royaloffice-newsletter-form input { flex:1; min-width:0; min-height:42px; height:42px; padding:0 12px; border:1px solid rgba(255,255,255,.26); border-radius:9px 0 0 9px; background:rgba(255,255,255,.10); color:#fff; font-size:10px; }
.royaloffice-newsletter-form input::placeholder { color:rgba(255,255,255,.65); }
.royaloffice-newsletter-form button { min-width:92px; border:0; border-radius:0 9px 9px 0; background:#fff; color:var(--ro-accent); font-size:10px; font-weight:850; }
.royaloffice-newsletter-description { max-width:330px; margin:0 0 14px; color:rgba(255,255,255,.7); font-size:9px; line-height:1.45; }
.royaloffice-social { display:flex; gap:7px; }
.royaloffice-social a { width:31px; height:31px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.25); border-radius:50%; color:#fff; font-size:11px; }
.royaloffice-social a:hover { background:#fff; color:var(--ro-accent); }
.royaloffice-bottom { border-top:1px solid rgba(255,255,255,.16); padding:13px 0 15px; }
.royaloffice-bottom-row { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.royaloffice-bottom p { margin:0; color:rgba(255,255,255,.68); font-size:8.5px; }
.royaloffice-powered { color:rgba(255,255,255,.7); font-size:8.5px; }
.royaloffice-powered a { font-weight:800; color:#fff; }

@media(max-width:991.98px){
  .royaloffice-benefits-grid { grid-template-columns:repeat(3,1fr); }
  .royaloffice-main-grid { grid-template-columns:1.3fr 1fr 1fr; gap:28px; }
  .royaloffice-contacts { grid-column:1/-1; }
}
@media(max-width:767.98px){
  .royaloffice-footer { margin-top:34px; }
  .royaloffice-benefits-grid { grid-template-columns:1fr 1fr; gap:14px; padding:18px 0; }
  .royaloffice-main-grid { grid-template-columns:1fr 1fr; gap:26px 20px; }
  .royaloffice-newsletter { grid-column:1/-1; }
  .royaloffice-contacts { grid-column:1/-1; }
  .royaloffice-bottom-row { align-items:flex-start; flex-direction:column; gap:7px; }
}

/* =========================================================
   Royal Office Premium 3.0.1 — Footer refinements
   ========================================================= */
#footer {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  background: var(--ro-accent);
}

.royaloffice-footer {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  background: linear-gradient(180deg, #078CFF 0%, #0787F3 100%);
}

.royaloffice-footer .royaloffice-container {
  width: calc(100% - 30px);
  max-width: var(--ro-container);
  margin-right: auto;
  margin-left: auto;
}

.royaloffice-benefits-grid {
  gap: 24px;
  padding-top: 24px;
  padding-bottom: 24px;
}

.royaloffice-benefit-icon {
  flex-basis: 32px;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  font-size: 13px;
}

.royaloffice-benefit h4 {
  margin-bottom: 4px;
  font-size: 11px;
  line-height: 1.25;
}

.royaloffice-benefit p {
  font-size: 9.5px;
  line-height: 1.5;
}

.royaloffice-main {
  padding-top: 38px;
  padding-bottom: 36px;
}

.royaloffice-main-grid {
  grid-template-columns: minmax(0,1.45fr) minmax(0,.82fr) minmax(0,.82fr) minmax(0,1.12fr);
  gap: 40px;
  align-items: start;
}

.royaloffice-main-grid > * {
  min-width: 0;
}

.royaloffice-title {
  margin-bottom: 15px;
  font-size: 10px;
  line-height: 1.3;
}

.royaloffice-links a,
.royaloffice-contact-list li {
  font-size: 10.5px;
}

.royaloffice-links li,
.royaloffice-contact-list li {
  margin-bottom: 8px;
}

.royaloffice-newsletter-widget,
.royaloffice-newsletter-widget form,
.royaloffice-footer .block_newsletter,
.royaloffice-footer .block_newsletter form {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.royaloffice-newsletter-form {
  width: 100%;
  max-width: 360px;
}

.royaloffice-newsletter-conditions,
.royaloffice-newsletter-conditions p,
.royaloffice-newsletter-widget p,
.royaloffice-newsletter-description {
  max-width: 360px;
  margin-top: 0;
  color: rgba(255,255,255,.78) !important;
  font-size: 9.5px !important;
  line-height: 1.5 !important;
}

.royaloffice-newsletter-conditions {
  margin-top: 10px;
  margin-bottom: 8px;
}

.royaloffice-newsletter-form input {
  min-width: 0 !important;
  max-width: 100%;
}

.royaloffice-bottom {
  padding: 15px 0 16px;
  background: rgba(3,74,137,.13);
}

.royaloffice-bottom-row {
  flex-wrap: wrap;
}

.royaloffice-bottom p,
.royaloffice-powered {
  font-size: 9px;
  line-height: 1.45;
}

@media(max-width:991.98px){
  .royaloffice-main-grid { grid-template-columns: 1.3fr 1fr 1fr; gap: 30px; }
  .royaloffice-benefits-grid { gap: 18px; }
}

@media(max-width:767.98px){
  .royaloffice-main-grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  .royaloffice-benefits-grid { grid-template-columns: 1fr 1fr; }
}

@media(max-width:479.98px){
  .royaloffice-benefits-grid,
  .royaloffice-main-grid { grid-template-columns: 1fr; }
  .royaloffice-newsletter,
  .royaloffice-contacts { grid-column: auto; }
}


/* =========================================================
   Royal Office Premium 3.0.4 — Desktop container + footer typography
   ========================================================= */
@media (min-width: 1200px) {
  .royaloffice-footer .royaloffice-container,
  #footer .container {
    max-width: 1400px;
  }
}

.royaloffice-benefit h4 {
  font-size: 13px;
  line-height: 1.3;
}

.royaloffice-benefit p {
  font-size: 11.5px;
  line-height: 1.5;
}

.royaloffice-title {
  font-size: 12px;
  line-height: 1.35;
}

.royaloffice-links a,
.royaloffice-contact-list li {
  font-size: 12px;
  line-height: 1.5;
}

.royaloffice-newsletter-form input,
.royaloffice-newsletter-form button {
  font-size: 12px;
}

.royaloffice-newsletter-conditions,
.royaloffice-newsletter-conditions p,
.royaloffice-newsletter-widget p,
.royaloffice-newsletter-description {
  font-size: 11px !important;
  line-height: 1.55 !important;
}

.royaloffice-bottom p,
.royaloffice-powered {
  font-size: 10.5px;
  line-height: 1.5;
}

.royaloffice-social a {
  font-size: 12px;
}

@media (max-width: 767.98px) {
  .royaloffice-benefit h4 { font-size: 12px; }
  .royaloffice-benefit p { font-size: 11px; }
  .royaloffice-title { font-size: 11.5px; }
  .royaloffice-links a,
  .royaloffice-contact-list li { font-size: 11.5px; }
}
