/* Raised cards: dimensional surfaces without continuous animation. */
.footer-3d { background: radial-gradient(ellipse at 15% 0,#68435d,transparent 65%),#2d2232; }
.footer-3d .footer-inner { display: grid; grid-template-columns: 1fr 1.25fr 1fr; gap: 24px; align-items: stretch; padding-top: 58px; padding-bottom: 42px; }
.footer-3d .footer-card {
  min-width: 0; padding: 27px; border: 1px solid #fff; border-radius: 25px;
  color: #3d2639; background: linear-gradient(145deg,#fff 10%,#fff1f7 100%);
  box-shadow: inset 0 2px 0 #fff,0 7px 0 #986580,0 20px 32px #10091940;
}
.footer-3d .footer-card h3 { font: 900 22px/1.2 'Nunito',sans-serif; color: #4a2640; margin: 0 0 9px; }
.footer-3d .footer-card p { color: #71596a; font-size: 15px; margin: 0 0 22px; }
.footer-3d .footer-identity { display: flex; align-items: center; gap: 14px; color: #b81761; margin-bottom: 25px; }
.footer-identity img { border-radius: 50%; border: 3px solid #fff; box-shadow: 0 4px 0 #e8bdd1,0 8px 15px #b35c8225; flex: 0 0 auto; }
.footer-identity > span { font: 900 33px/1.05 'Nunito',sans-serif; }
.footer-3d .footer-identity small { display: block; color: #946319; font-size: 12px; letter-spacing: .3em; margin: 6px 0 0 16px; }
.footer-3d .footer-location { display: inline-flex; align-items: center; gap: 9px; border: 1px solid #efd3e1; border-radius: 12px; background: #fff; padding: 11px 14px; font-size: 15px; color: #634358; box-shadow: 0 3px 0 #e5c8d7; }
.footer-location svg { width: 20px; height: 20px; color: #b81761; }
.footer-3d .contact-tile {
  display: flex; align-items: center; gap: 11px; padding: 12px; margin-top: 12px;
  width: 100%; min-height: 72px; border: 1px solid #ead3e0; border-radius: 15px;
  color: #492f42; background: linear-gradient(145deg,#fff,#fcecf4);
  box-shadow: inset 0 1px 0 #fff,0 3px 0 #e7c8d8; transform: none;
  transition: box-shadow 150ms ease,background 150ms ease;
}
.footer-3d .contact-tile > span:nth-child(2) { min-width: 0; flex: 1; }
.footer-3d .contact-tile small { display: block; color: #806576; font-size: 12px; line-height: 1.4; margin-bottom: 2px; }
.footer-3d .contact-tile strong { display: block; font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
.footer-3d .contact-icon { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; color: #b81761; border: 1px solid #fff; background: linear-gradient(145deg,#ffeff7,#efc0d7); border-radius: 12px; box-shadow: 0 3px 0 #d4a7bf; }
.contact-icon svg { width: 21px; height: 21px; }
.footer-3d .contact-whatsapp .contact-icon { background: linear-gradient(145deg,#f2fff9,#c6eddb); color: #176a46; box-shadow: 0 3px 0 #a4cdb9; }
.footer-3d .contact-arrow { color: #9d5479; font-size: 18px; flex: 0 0 auto; }
.footer-3d .payment-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.footer-3d .payment-tile { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 72px; padding: 13px 8px; border: 1px solid #fff; border-radius: 16px; color: #54365a; background: linear-gradient(140deg,#fff,#ede4f7); box-shadow: 0 4px 0 #d5c3e1; }
.footer-3d .payment-tile > span { display: grid; place-items: center; width: 29px; height: 34px; color: #704492; font: 900 24px 'Nunito',sans-serif; text-shadow: 0 2px 0 #fff; }
.footer-3d .payment-tile strong { font: 900 18px/1.25 'Nunito',sans-serif; }
.footer-3d .payment-plin { color: #195b70; background: linear-gradient(140deg,#fff,#d5f1fa); box-shadow: 0 4px 0 #afcfda; }
.footer-3d .payment-plin > span { color: #176d88; }
.footer-3d .payment-bank { grid-column: 1 / -1; justify-content: flex-start; gap: 14px; background: linear-gradient(140deg,#fff,#f6e5ee); box-shadow: 0 4px 0 #e0c2d2; padding-left: 18px; }
.payment-bank svg { width: 29px; height: 29px; flex: 0 0 29px; color: #a23e70; }
.footer-3d .payment-bank strong { font-size: 16px; }
.footer-3d .footer-card .payment-note { font-size: 14px; margin: 24px 0 0; padding-top: 17px; border-top: 1px solid #ead3e0; }
.footer-3d .footer-bottom { color: #edd5e3; border-top-color: #94718a50; }
.footer-3d a:focus-visible { outline: 3px solid #9c205d; outline-offset: 4px; border-radius: 12px; }
.footer-3d .footer-identity:hover { color: #981750; }
.product-image img { object-fit: contain; }
.product-card:hover .product-image img { transform: none; }
.product-meta > span:first-child { color: #67515f; }
@media (hover:hover) and (pointer:fine) {
  .footer-3d .contact-tile:hover { color: #632543; background: #fff; transform: none; box-shadow: inset 0 1px 0 #fff,0 4px 0 #d8adbf,0 7px 12px #9d607a18; }
}
@media (max-width:1000px) and (min-width:701px) {
  .footer-3d .footer-inner { grid-template-columns: 1fr 1fr; }
  .footer-brand-card { grid-column: 1 / -1; }
}
@media (max-width:700px) {
  .footer-3d .footer-inner { grid-template-columns: 1fr; gap: 26px; padding: 34px 18px; }
  .footer-3d .footer-card { padding: 22px; border-radius: 22px; }
  .footer-3d .footer-card h3 { font-size: 23px; }
  .footer-3d .contact-tile { padding: 11px; gap: 9px; }
}
@media (max-width:360px) {
  .footer-3d .footer-card { padding: 19px; }
  .footer-3d .contact-icon { width: 32px; height: 35px; flex-basis: 32px; }
}
@media (min-width:1800px) {
  .footer-3d .footer-card { padding: 38px; border-radius: 30px; }
  .footer-3d .footer-card h3 { font-size: 29px; }
  .footer-3d .footer-card p,.footer-3d .contact-tile strong { font-size: 19px; }
  .footer-3d .contact-tile small { font-size: 15px; }
  .footer-3d .contact-tile { padding: 18px; }
  .footer-3d .payment-tile { min-height: 95px; }
  .footer-3d .payment-tile strong { font-size: 24px; }
}
@media (prefers-reduced-motion:reduce) { .footer-3d a,.footer-3d a:hover { transform: none; transition: none; } }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.agency-credit { display: inline-flex; flex: 0 0 auto; border-radius: 10px; overflow: hidden; background: white; }
.agency-credit img { width: 82px; height: 82px; object-fit: contain; }
.agency-credit:focus-visible { outline: 3px solid #ffb5d7; outline-offset: 5px; }
.catalog-unavailable { grid-column: 1/-1; padding: 28px; border: 1px solid #e9c9d9; border-radius: 16px; background: #fff7fb; }
.catalog-unavailable button { border: 0; border-radius: 9px; padding: 12px 18px; background: #c91865; color: #fff; font-weight: 700; }
