/* ACO MODE 1.1 — quieter shopping shortcuts and a complete brand footer. */
.home-intro-note { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; color: var(--navy); background: #f5f0e5; border-radius: 30px; font-size: .76rem; padding: 6px 12px; }
.home-types { margin-top: 43px; }
.section-kicker { display: block; font-size: .74rem; font-weight: 500; color: #84714a; margin-bottom: 3px; }
.section-heading-copy p { color: var(--muted); font-size: .88rem; margin: 5px 0 0; }
.type-grid { --type-gap: 18px; display: flex; flex-wrap: wrap; gap: var(--type-gap); }
.type-grid > .type-card { flex: 1 1 calc((100% - (var(--type-columns, 4) - 1) * var(--type-gap)) / var(--type-columns, 4) - 1px); min-width: calc((100% - (var(--type-columns, 4) - 1) * var(--type-gap)) / var(--type-columns, 4) - 1px); max-width: 100%; }
.type-card { min-width: 0; overflow: hidden; border: 1px solid #e6e5e0; border-radius: 11px; background: #faf8f5; color: var(--navy); }
.type-card .asset-image { aspect-ratio: 1.5 / 1; background: #f4f1ec; transition: transform .25s; }
.type-card-photo { padding: 13px 22px 6px; overflow: hidden; }
.type-card:hover { border-color: var(--gold); color: var(--navy-deep); }
.type-card:hover .asset-image { transform: scale(1.035); }
.type-card-body { padding: 13px 18px 17px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px solid #ece8df; background: #fff; }
.type-card-body strong { display: block; font-size: 1.05rem; }
.type-card-body small { color: var(--muted); display: block; font-size: .73rem; margin-top: 1px; }
.type-card-arrow { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; color: var(--navy); background: #f4f0e6; flex: 0 0 auto; }
.home-page .home-products { margin-top: 43px; }
.home-assistant { display: grid; grid-template-columns: 1.25fr 1fr; gap: 34px; align-items: center; margin-block: 42px; padding: 32px 36px; border-radius: 12px; background: var(--navy); color: #fff; border-top: 3px solid var(--gold); position: relative; overflow: hidden; }
.home-assistant-copy { position: relative; }
.home-assistant-label { display: inline-flex; align-items: center; gap: 8px; color: #efd79d; font-size: .8rem; margin-bottom: 10px; }
.home-assistant h2 { color: #fff; margin-bottom: 8px; font-size: clamp(1.3rem, 2vw, 1.65rem); }
.home-assistant p { color: #dce5f3; font-size: .88rem; margin-bottom: 20px; }
.home-assistant .btn-gold { min-width: 190px; }
.home-assistant-questions { display: grid; gap: 9px; }
.home-assistant-questions a { min-height: 49px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #fff; padding: 10px 15px; font-size: .85rem; border: 1px solid #657ba0; border-radius: 7px; background: #ffffff07; }
.home-assistant-questions a:hover { background: #ffffff12; border-color: var(--gold); }
.home-assistant-questions .app-icon { color: #e5c477; }
.aco-footer { margin-top: 34px; }
.footer-service-band { background: #f6f4ef; border-block: 1px solid #e9e5db; }
.footer-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding-block: 22px; gap: 25px; }
.footer-service { display: flex; align-items: center; gap: 13px; min-width: 0; color: var(--navy); padding: 3px 10px; }
.footer-service + .footer-service { border-inline-start: 1px solid #ddd8ce; padding-inline-start: 28px; }
.footer-service-icon { width: 49px; height: 49px; display: grid; place-items: center; background: #fff; border-radius: 50%; border: 1px solid #ebe4d5; flex: 0 0 auto; }
.footer-service strong { display: block; font-weight: 600; font-size: .9rem; }
.footer-service small { display: block; color: #6c7280; font-size: .73rem; margin-top: 2px; }
.footer-service-arrow { margin-inline-start: auto; }
.footer-service:hover { color: var(--navy-deep); }
.footer-service:hover .footer-service-icon { border-color: var(--gold); }
.footer-dark { color: #fff; background: #192f54; padding: 27px 0 0; }
.footer-topline { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 22px; border-bottom: 1px solid #ffffff24; color: #dfc88e; font-size: .9rem; }
.footer-back-top { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 6px 13px; border: 1px solid #ffffff3d; color: #e3e9f3; background: transparent; border-radius: 7px; font-size: .76rem; flex: 0 0 auto; }
.footer-back-top:hover { background: #ffffff0d; border-color: var(--gold); }
.footer-columns { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.1fr; gap: 42px; padding-block: 33px 32px; }
.footer-story { max-width: 305px; }
.footer-logo { display: inline-block; width: 210px; max-width: 100%; margin-block: 2px 16px; }
.footer-logo img { display: block; width: 100%; height: auto; }
.footer-story p { color: #bbc8dc; font-size: .82rem; line-height: 2; margin-bottom: 15px; }
.footer-assistant-link { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 7px 10px; border: 1px solid #b39758; border-radius: 6px; color: #ebd39d; font-size: .78rem; }
.footer-assistant-link:hover { background: #ffffff0c; color: #ffe6ad; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.footer-column h2 { color: #fff; margin-bottom: 12px; font-size: .95rem; position: relative; padding-bottom: 13px; }
.footer-column h2::after { content: ''; position: absolute; bottom: 0; right: 0; width: 27px; height: 2px; background: var(--gold); }
.footer-column a { display: inline-flex; align-items: center; gap: 8px; min-height: 37px; color: #bdcbe0; font-size: .82rem; padding-block: 5px; }
.footer-column a:hover { color: #f0d397; }
.footer-tail { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #ffffff24; padding: 17px 0 20px; padding-inline-end: 160px; color: #b8c7df; font-size: .71rem; }
.footer-tail > a { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; color: #d1dbec; }
.footer-tail > a:hover { color: #eed396; }
.footer-demo-note { color: #adbed8; }
.admin-menu-review-count { display: inline-grid; place-items: center; margin-inline-start: auto; min-width: 21px; padding: 0 5px; height: 21px; background: #f4e8cb; color: #5d481a; border-radius: 12px; font-size: .71rem; }
@media (max-width: 1199.98px) {
  .footer-columns { gap: 28px; }
  .footer-service { padding-inline: 0; gap: 10px; }
  .footer-service + .footer-service { padding-inline-start: 18px; }
  .footer-service-arrow { display: none; }
  .footer-service strong { font-size: .83rem; }
  .home-assistant { gap: 24px; padding: 28px; }
}
@media (max-width: 991.98px) {
  .home-intro-note { display: none; }
  .type-grid { --type-gap: 13px; }
  .type-card-photo { padding: 10px 12px 6px; }
  .type-card-body { padding: 11px 12px; }
  .type-card-body strong { font-size: .95rem; }
  .home-assistant { grid-template-columns: 1fr 1fr; gap: 20px; }
  .home-assistant-questions a { font-size: .77rem; }
  .footer-columns { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 45px; }
  .footer-services { gap: 15px; }
  .footer-service { flex-direction: column; text-align: center; }
  .footer-service + .footer-service { padding-inline-start: 15px; }
  .footer-tail { flex-wrap: wrap; padding-inline-end: 160px; }
  .footer-demo-note { order: 3; width: 100%; }
}
@media (max-width: 767.98px) {
  .home-types, .home-page .home-products { margin-top: 30px; }
  .section-heading-copy p { font-size: .78rem; }
  .type-grid { --type-gap: 12px; }
  .type-grid > .type-card { flex-basis: calc(50% - 12px); min-width: calc(50% - 12px); }
  .type-card .asset-image { aspect-ratio: 1.3 / 1; }
  .type-card-body { padding: 10px 12px 12px; }
  .type-card-body small { font-size: .68rem; }
  .type-card-arrow { width: 27px; height: 27px; }
  .home-assistant { grid-template-columns: 1fr; margin-block: 30px; padding: 23px 21px; gap: 22px; }
  .home-assistant p { font-size: .82rem; margin-bottom: 17px; }
  .home-assistant h2 { font-size: 1.28rem; }
  .home-assistant-questions a { font-size: .79rem; min-height: 47px; }
  .aco-footer { margin-top: 24px; }
  .footer-services { grid-template-columns: 1fr; gap: 0; padding-block: 9px; }
  .footer-service { flex-direction: row; text-align: start; padding: 16px 3px; gap: 13px; }
  .footer-service + .footer-service { border-inline-start: 0; border-top: 1px solid #e4ded4; padding-inline-start: 3px; }
  .footer-service-arrow { display: inline-flex; }
  .footer-service strong { font-size: .88rem; }
  .footer-service small { font-size: .74rem; }
  .footer-dark { padding-top: 19px; }
  .footer-topline { padding-bottom: 18px; gap: 10px; font-size: .73rem; }
  .footer-back-top { font-size: .69rem; padding: 5px 8px; }
  .footer-columns { padding-block: 25px; gap: 28px 22px; }
  .footer-story { grid-column: 1 / -1; max-width: 100%; }
  .footer-logo { width: 190px; margin-bottom: 13px; }
  .footer-story p { max-width: 390px; font-size: .82rem; }
  .footer-column:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; }
  .footer-column:last-child h2 { grid-column: 1 / -1; }
  .footer-column h2 { font-size: .86rem; }
  .footer-column a { min-height: 44px; font-size: .78rem; }
  .footer-tail { gap: 5px 12px; padding-inline-end: 70px; padding-bottom: 22px; font-size: .66rem; }
}
@media (max-width: 359.98px) {
  .type-card-photo { padding: 7px 8px; }
  .type-card-body { gap: 5px; padding-inline: 9px; }
  .type-card-body strong { font-size: .88rem; }
  .home-assistant { padding: 19px 16px; }
  .home-assistant h2 { font-size: 1.13rem; }
  .footer-topline > span { max-width: 150px; }
}
@media print { .aco-footer, .home-assistant { display: none !important; } }
.header-admin { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 7px 11px; border: 1px solid #ffffff4a; border-radius: 6px; font-size: .79rem; color: #f0e4c8; white-space: nowrap; }
.header-admin:hover { color: #fff; background: #ffffff10; border-color: var(--gold); }
@media (min-width: 992px) { .topbar-right { gap: 18px; } .desktop-nav { gap: 18px; } .topbar { gap: 24px; } }
@media (min-width: 992px) and (max-width: 1199.98px) { .header-admin span { display: none; } .header-admin { padding: 7px 9px; } .topbar-right { gap: 14px; } .desktop-nav { gap: 15px; } }
@media (max-width: 991.98px) { .header-admin { display: none; } }
@media print { .aco-footer, .assistant-widget, .assistant-widget-dialog, .toast-stack, .storage-alert, .skip-link { display: none !important; } }
