:root{--bs-primary:#b5121b} #menu{background:#b5121b;border-color:#b5121b} #logo img{max-height:100px;width:auto;max-width:100%}.btn-primary{background:#b5121b;border-color:#a01018}.btn-primary:hover{background:#8f1016;border-color:#8f1016}:root{--bs-primary-rgb:181,18,27} #menu.bg-primary{background-color:#b5121b!important}

/* Update: compact wishlist actions. */
#account-wishlist .artcopy-wishlist-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
#account-wishlist .artcopy-wishlist-actions .btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border-radius: 9px; font-size: 18px; }
#account-wishlist .artcopy-wishlist-cart { color: #217044; background: #edf8f1; border: 1px solid #c3dfcd; }
#account-wishlist .artcopy-wishlist-cart:hover { color: #fff; background: #217044; border-color: #217044; }
#account-wishlist .artcopy-wishlist-remove { color: #b5121b; background: #fff1ee; border: 1px solid #e6c4be; }
#account-wishlist .artcopy-wishlist-remove:hover { color: #fff; background: #b5121b; border-color: #b5121b; }
#account-wishlist .artcopy-wishlist-actions .btn:focus-visible { outline: 3px solid #503c2c; outline-offset: 3px; }

/* Information pages and their contact forms. */
.artcopy-information-panel, .artcopy-contact-panel, .artcopy-sitemap-panel { margin: 24px 0 32px; padding: clamp(22px, 3vw, 40px); background: #fffaf2; border: 1px solid #ddc9ac; border-top: 4px solid #b5121b; border-radius: 16px; box-shadow: 0 6px 20px #50341210; color: #513e2d; }
:is(.artcopy-information-panel, .artcopy-contact-panel, .artcopy-sitemap-panel) h1 { color: #503c2c; margin: 0 0 24px; font-size: clamp(26px, 2.5vw, 34px); font-weight: 600; }
:is(.artcopy-information-panel, .artcopy-contact-panel, .artcopy-sitemap-panel) h2 { color: #503c2c; font-size: 22px; font-weight: 600; margin: 28px 0 14px; }
.artcopy-information-body { line-height: 1.85; font-size: 16px; }
.artcopy-information-body > p, .artcopy-information-body > section { max-width: 100%; }
.artcopy-information-body > p { max-width: 980px; margin-bottom: 18px; }
.artcopy-information-body a, .artcopy-sitemap-panel a { color: #87111a; text-decoration: underline; text-underline-offset: 3px; }
.artcopy-information-body a:hover, .artcopy-sitemap-panel a:hover { color: #b5121b; }
.artcopy-page-intro { color: #756351; line-height: 1.7; margin: -10px 0 28px; font-size: 16px; }
.artcopy-shipping-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 28px 0; }
.artcopy-info-card { padding: 24px; border: 1px solid #e3d1b7; border-radius: 12px; background: #f7ebd8; min-width: 0; }
.artcopy-info-icon { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 12px; background: #fffaf2; color: #87111a; font-size: 22px; }
.artcopy-info-card h2 { margin-top: 18px; font-size: 21px; }
.artcopy-shipping-price { color: #87111a; font-size: 23px; font-weight: 700; margin-bottom: 16px; }
.artcopy-shipping-price span { display: block; font-size: 13px; font-weight: 400; color: #756351; }
.artcopy-shipping-benefit { padding: 12px; background: #edf8f1; border: 1px solid #c3dfcd; border-radius: 8px; color: #21613b; font-weight: 600; font-size: 15px; }
.artcopy-info-card details { font-size: 14px; }
.artcopy-info-card summary { color: #87111a; cursor: pointer; font-weight: 600; }
.artcopy-info-card details p { margin-top: 12px; }
.artcopy-info-note { border-top: 1px solid #e3d1b7; margin-top: 28px; padding-top: 4px; }
.artcopy-contact-shortcuts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 24px 0; }
.artcopy-contact-shortcuts > a { display: flex; align-items: center; gap: 16px; padding: 22px; background: #f7ebd8; border: 1px solid #e3d1b7; border-radius: 12px; color: #513e2d; text-decoration: none; overflow-wrap: anywhere; }
.artcopy-contact-shortcuts > a:hover { background: #f1e0c5; border-color: #b5121b; }
.artcopy-contact-shortcuts > a > i:first-child { font-size: 28px; color: #87111a; }
.artcopy-contact-shortcuts > a > span { flex: 1; min-width: 0; }
.artcopy-contact-shortcuts strong { display: block; margin-bottom: 4px; font-size: 17px; }
.artcopy-contact-shortcuts > a > i:last-child { font-size: 12px; }
#information-contact .artcopy-contact-location { border-color: #e3d1b7; background: transparent; border-radius: 10px; }
#information-contact .artcopy-contact-location .col-sm-3 { flex: 1 1 220px; }
#information-contact .artcopy-contact-location address { margin: 8px 0; }
#information-contact #form-contact { border-top: 1px solid #e3d1b7; margin-top: 28px; padding-top: 26px; }
#information-contact #form-contact legend { font-size: 23px; color: #503c2c; font-weight: 600; border: 0; padding: 0; margin-bottom: 24px; }
#information-contact #form-contact fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
#information-contact #form-contact legend, #information-contact #form-contact .row:nth-of-type(3), #information-contact #form-contact fieldset > :not(.row):not(legend) { grid-column: 1 / -1; }
#information-contact #form-contact .col-sm-2, #information-contact #form-contact .col-sm-10 { width: 100%; }
#information-contact #form-contact .col-form-label { text-align: left; padding-top: 0; color: #513e2d; font-weight: 600; }
#information-contact .form-control { border-color: #ddc9ac; border-radius: 8px; min-height: 48px; font-size: 16px; }
#information-contact .form-control:focus { border-color: #b5121b; box-shadow: 0 0 0 3px #b5121b18; }
#information-contact .btn { border-radius: 8px; padding: 12px 20px; font-weight: 600; }
.artcopy-sitemap-categories, .artcopy-sitemap-shortcuts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.artcopy-sitemap-shortcuts { margin-top: 28px; padding-top: 28px; border-top: 1px solid #e3d1b7; }
.artcopy-sitemap-group { padding: 20px; background: #f7ebd8; border: 1px solid #e3d1b7; border-radius: 12px; }
.artcopy-sitemap-group h3, .artcopy-sitemap-group h2 { margin: 0 0 12px; font-size: 19px; }
.artcopy-sitemap-group h3 a { display: flex; justify-content: space-between; align-items: center; text-decoration: none; }
.artcopy-sitemap-group h3 i { font-size: 11px; }
.artcopy-sitemap-group ul { list-style: none; padding: 0; margin: 0; }
.artcopy-sitemap-group ul ul { padding-left: 14px; border-left: 1px solid #ddc9ac; margin-left: 3px; }
.artcopy-sitemap-group li a { display: inline-block; padding: 7px 0; font-size: 15px; text-decoration: none; line-height: 1.5; }
.artcopy-sitemap-group li a:hover { text-decoration: underline; }

/* Categories: warm panels, burgundy navigation and product cards. */
.artcopy-category-menu { border: 1px solid #ddc9ac; border-radius: 14px; overflow: hidden; box-shadow: 0 6px 20px #50341210; }
.artcopy-category-menu .list-group-item { border: 0; border-bottom: 1px solid #e8dac6; background: #fffaf2; color: #513e2d; padding: 15px 18px; line-height: 1.5; }
.artcopy-category-menu .list-group-item:last-child { border-bottom: 0; }
.artcopy-category-menu .list-group-item.active { color: #fffaf2; background: #87111a; border-color: #a8363e; }
.artcopy-category-menu .list-group-item:not(.active):hover { color: #87111a; background: #f7ebd8; }
.artcopy-category-heading { background: #fffaf2; border: 1px solid #ddc9ac; border-top: 4px solid #b5121b; border-radius: 14px; padding: 24px 28px; margin-bottom: 22px; color: #513e2d; }
.artcopy-category-heading h1 { margin: 0 0 14px; color: #503c2c; font-size: 30px; }
.artcopy-category-description { line-height: 1.85; }
.artcopy-category-description p:last-child { margin-bottom: 0; }
.artcopy-category-heading .artcopy-refine-title { margin-top: 22px; font-size: 18px; }
.artcopy-refine-links { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 12px 0 0; list-style: none; }
.artcopy-refine-links a { display: inline-flex; align-items: center; gap: 16px; padding: 9px 14px; color: #87111a; background: #f7ebd8; border: 1px solid #ddc9ac; border-radius: 8px; text-decoration: none; }
.artcopy-refine-links i { font-size: 10px; }
#product-category .artcopy-category-toolbar { display: grid; grid-template-columns: auto auto minmax(180px, 1fr) minmax(140px, .65fr); align-items: center; gap: 12px; margin: 0 0 20px; padding: 8px 12px; background: #fffaf2; border: 1px solid #ddc9ac; border-radius: 10px; }
#product-category .artcopy-category-toolbar > div { width: auto; margin: 0; padding: 0; }
#product-category .artcopy-category-toolbar .mb-3 { margin-bottom: 0 !important; }
#product-category .artcopy-category-toolbar .btn { min-height: 44px; border-color: #ddc9ac; }
#product-category .artcopy-category-toolbar .btn-light { background: #fffaf2; color: #87111a; }
#product-category .artcopy-category-toolbar .btn-light.active { background: #87111a; color: #fffaf2; border-color: #87111a; }
#product-category .artcopy-category-toolbar #compare-total { font-size: 13px; white-space: nowrap; background: #f7ebd8; color: #87111a; font-weight: 500; box-shadow: none; }
#product-category .artcopy-category-toolbar #compare-total:hover { background: #eadbc5; }
#product-category .artcopy-category-toolbar .input-group-text { background: #fffaf2; color: #513e2d; border-color: #ddc9ac; font-size: 13px; padding: 8px; }
#product-category .artcopy-category-toolbar .form-select { min-height: 44px; border-color: #ddc9ac; font-size: 14px; }
#product-category .product-thumb { overflow: hidden; border: 1px solid #ddc9ac; border-radius: 14px; background: #fffaf2; box-shadow: 0 5px 16px #5034120b; }
#product-category .product-thumb .image { background: #fff; border-bottom: 1px solid #efe3d1; padding: 16px; }
#product-category .product-thumb .image img { max-height: 240px; width: auto; object-fit: contain; }
#product-category .product-thumb .description { padding: 20px; }
#product-category .product-thumb h4 { font-size: 18px; line-height: 1.45; }
#product-category .product-thumb h4 a { color: #87111a; text-decoration: none; }
#product-category .product-thumb .description > p { color: #756351; font-size: 14px; line-height: 1.8; }
#product-category .product-thumb .price-new { color: #503c2c; font-size: 18px; font-weight: 700; }
#product-category .product-thumb .button button { background: #f7ebd8; color: #87111a; border-color: #e3d1b7; min-height: 48px; }
#product-category .product-thumb .button button:hover { background: #eadbc5; }
#product-category .product-thumb .button button[data-wishlist-product] { color: #887b70; }
#product-category .product-thumb .button button.artcopy-is-wished { background: #f4d8d2; color: #b5121b; }
#product-category .product-thumb.is-in-cart { border-color: #168a48; box-shadow: 0 0 0 1px #168a48; }
.product-thumb .button button.artcopy-is-compared,
#product-category .product-thumb .button button.artcopy-is-compared,
#product-info .artcopy-product-secondary button.artcopy-is-compared { color: #007c91; background: #dcf7fb; }
.product-thumb .button button.artcopy-is-compared:hover,
#product-category .product-thumb .button button.artcopy-is-compared:hover,
#product-info .artcopy-product-secondary button.artcopy-is-compared:hover { color: #005d70; background: #bceef5; }
#product-category .artcopy-category-pagination { align-items: center; margin: 8px 0 28px; padding: 16px 10px; background: #fffaf2; border: 1px solid #ddc9ac; border-radius: 12px; color: #756351; font-size: 14px; }
#product-category .artcopy-category-pagination .pagination { margin-bottom: 0; }
#product-category .artcopy-category-pagination .page-link { color: #87111a; border-color: #ddc9ac; background: #fffaf2; }
#product-category .artcopy-category-pagination .active .page-link { color: #fffaf2; background: #87111a; }

/* Restored brands carousel: native touch scrolling and keyboard controls. */
#product-compare #content { min-width: 0; }
.artcopy-compare-panel { margin: 24px 0 32px; padding: clamp(18px, 3vw, 32px); background: #fffaf2; border: 1px solid #ddc9ac; border-top: 4px solid #b5121b; border-radius: 16px; color: #513e2d; box-shadow: 0 6px 20px #50341210; }
.artcopy-compare-panel h1 { margin: 0 0 24px; color: #503c2c; font-size: clamp(25px, 2.5vw, 34px); font-weight: 600; }
.artcopy-compare-scroll { overflow-x: auto; border: 1px solid #e3d1b7; border-radius: 10px; }
.artcopy-compare-scroll:focus-visible { outline: 2px solid #b5121b; outline-offset: 3px; }
.artcopy-compare-table { margin: 0; color: #513e2d; --bs-table-bg: #fffaf2; --bs-table-border-color: #e3d1b7; }
.artcopy-compare-table td { min-width: 220px; padding: 14px 16px; vertical-align: middle; line-height: 1.6; }
.artcopy-compare-table tbody td:first-child { min-width: 150px; width: 180px; font-weight: 600; background: #f7ebd8; }
.artcopy-compare-table thead td { background: #f7ebd8; color: #503c2c; }
.artcopy-compare-table a:not(.btn) { color: #87111a; text-decoration: none; }
.artcopy-compare-table a:not(.btn):hover { text-decoration: underline; }
.artcopy-compare-table .img-thumbnail { background: #fff; border-color: #e3d1b7; border-radius: 10px; padding: 10px; }
.artcopy-compare-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.artcopy-compare-actions .btn { min-height: 44px; border-radius: 8px; font-size: 14px; }
.artcopy-compare-remove { color: #b5121b; border: 1px solid #e6c4be; background: #fff1ee; }
.artcopy-compare-remove:hover { color: #fff; background: #b5121b; }
.artcopy-compare-empty { padding: 24px; background: #f7ebd8; border: 1px solid #e3d1b7; border-radius: 10px; margin-bottom: 24px; }
.artcopy-compare-empty i { color: #87111a; margin-right: 10px; }
@media (max-width: 767px) {
  .artcopy-compare-table tbody td:first-child { position: sticky; left: 0; z-index: 1; min-width: 115px; width: 115px; padding: 12px; font-size: 13px; }
  .artcopy-compare-table td { min-width: 210px; }
}
.artcopy-brands { margin: 30px 0 40px; padding: 24px 28px; background: #fffaf2; border: 1px solid #ddc9ac; border-radius: 14px; }
.artcopy-brands-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.artcopy-brands-heading h2 { color: #503c2c; font-size: 24px; margin: 0 0 6px; font-weight: 600; }
.artcopy-brands-heading p { margin: 0; color: #756351; }
.artcopy-brands-controls { display: flex; gap: 8px; }
.artcopy-brands-controls button { width: 44px; height: 44px; border: 1px solid #ddc9ac; border-radius: 9px; background: #f7ebd8; color: #87111a; }
.artcopy-brands-controls button:hover { background: #eadbc5; }
.artcopy-brands-track { display: flex; gap: 16px; list-style: none; margin: 0; padding: 2px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.artcopy-brands-track::-webkit-scrollbar { display: none; }
.artcopy-brands-track li { flex: 0 0 156px; background: #fff; border: 1px solid #e8dac6; border-radius: 10px; overflow: hidden; scroll-snap-align: start; }
.artcopy-brands-track img { display: block; width: 156px; height: 120px; max-width: 100%; object-fit: contain; }
.artcopy-brands-track:focus-visible, .artcopy-brands-controls button:focus-visible { outline: 2px solid #b5121b; outline-offset: 3px; }
@media (min-width: 960px) {
  #product-category .product-list .product-thumb .image { flex: 0 0 230px; display: flex; align-items: center; justify-content: center; border-bottom: 0; border-right: 1px solid #efe3d1; }
  #product-category .product-list .product-thumb .content { flex: 1; min-width: 0; }
  #product-category .product-list .product-thumb .button { width: 100%; margin-left: 0; border-left: 0; }
}
@media (max-width: 1199px) {
  #product-category .artcopy-category-toolbar { grid-template-columns: 1fr auto; }
  .artcopy-shipping-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .artcopy-sitemap-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .artcopy-sitemap-shortcuts, .artcopy-contact-shortcuts { grid-template-columns: minmax(0, 1fr); }
  #information-contact #form-contact fieldset { grid-template-columns: minmax(0, 1fr); }
  .artcopy-category-heading { padding: 22px; }
  #product-category .artcopy-category-toolbar { grid-template-columns: minmax(0, 1fr); padding: 8px 12px; }
  #product-category .artcopy-category-pagination { gap: 12px; }
  #product-category .artcopy-category-pagination .text-end { text-align: left !important; }
  .artcopy-brands { padding: 22px 18px; }
  .artcopy-brands-heading h2 { font-size: 21px; }
  .artcopy-brands-heading { align-items: flex-start; }
  .artcopy-brands-heading p { font-size: 14px; }
}
@media (max-width: 399px) {
  .artcopy-sitemap-categories { grid-template-columns: minmax(0, 1fr); }
  .artcopy-brands-heading { flex-wrap: wrap; }
}

/* Identidad visual recuperada del tema original de Artcopy. */
body {
  background: #ead4ac url('../image/artcopy-madera.png') repeat;
}
#top {
  background-color: #601d0b;
}
#top .list-inline-item > a,
#top .list-inline-item .dropdown > a,
#top .list-inline-item .dropdown > span,
#top .btn-link {
  color: #faebd7;
}
#top .list-inline-item > a:hover,
#top .list-inline-item .dropdown > a:hover,
#top .list-inline-item .dropdown > span:hover {
  color: #fff7ae;
}
#top .dropdown-menu a {
  color: #601d0b;
}
#top .dropdown-menu a:hover {
  color: #601d0b;
  background-color: #faebd7;
}
#menu.bg-primary {
  background-color: #b5121b !important;
  background-image: none;
  border-color: #a01018;
}
/* Los títulos navegan; en celular un botón separado abre las subcategorías. */
#menu .artcopy-menu-category { position: relative; }
#menu .artcopy-menu-expand {
  position: absolute;
  right: 0;
  top: 0;
  width: 44px;
  height: 44px;
  color: #fff;
  background: transparent;
  border: 0;
}
@media (max-width: 991.98px) {
  #menu .artcopy-menu-category > .nav-link { padding-right: 52px; }
  #menu .dropdown:hover > .dropdown-menu:not(.show) { display: none; }
  #menu .dropdown > .dropdown-menu.show { display: block; }
}
.product-thumb {
  background-color: #fff;
}

/* El banner debe crecer con su contenedor, incluso por encima del ancho original. */
[id^="carousel-banner-"] .carousel-item img {
  display: block;
  width: 100%;
  height: auto;
}
[id^="carousel-banner-"] { overflow: hidden; border-radius: 10px; }

/* Textura original del pie y sello fiscal. */
footer { background: #303b49 url('../image/artcopy-footer.png') repeat; }
.artcopy-data-fiscal img { width: 58px; height: auto; }
.artcopy-data-fiscal { padding-top: 8px; padding-bottom: 12px; }

/* Floating WhatsApp contact; above cookie notice, below modal dialogs. */
.artcopy-whatsapp {
  position: fixed;
  right: max(20px, env(safe-area-inset-right), var(--artcopy-whatsapp-right, 20px));
  bottom: max(calc(20px + env(safe-area-inset-bottom) + var(--artcopy-cookie-height, 0px)), var(--artcopy-footer-clearance, 0px));
  z-index: 1030;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 67.2px;
  height: 67.2px;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  font-size: 38.4px;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .22);
  transition: background-color .15s ease;
}
.artcopy-whatsapp:hover, .artcopy-whatsapp:focus {
  color: #fff;
  background: #20bd5a;
}
.artcopy-whatsapp:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
@media (max-width: 575px) {
  .artcopy-whatsapp { width: 60px; height: 60px; right: 16px; font-size: 34.8px; }
}

/* Inline cart quantities on catalog cards. */
.product-thumb[data-quick-product] { display: flex; flex-direction: column; }
.product-thumb[data-quick-product] .content { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.product-thumb[data-quick-product] .description { display: flex; flex-direction: column; flex: 1; margin-bottom: 0; }
.product-thumb[data-quick-product] .quick-cart-quantity { margin-top: auto; }
.product-thumb[data-quick-product] .content > form { flex-shrink: 0; }
.product-thumb[data-quick-product] .button { position: static; width: 100%; margin-left: 0; border-left: 0; }
@media (min-width: 960px) {
  .product-list .product-thumb[data-quick-product] { flex-direction: row; }
}
.product-thumb .quick-cart-add[hidden], .quick-cart-quantity[hidden] { display: none !important; }
.product-thumb .quick-cart-quantity { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 0 4px; }
.product-thumb .button button { flex: 1 1 0; }
.quick-cart-quantity button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; padding: 0; line-height: 1; border: 1px solid #d7dce0; border-radius: 6px; background: #f6f7f8; color: #333; font-size: 22px; }
.quick-cart-quantity input { box-sizing: border-box; width: 70px; height: 36px; padding: 0 4px; border: 1px solid #d7dce0; border-radius: 6px; text-align: center; font-size: 18px; font-weight: 700; line-height: normal; color: #333; appearance: textfield; -moz-appearance: textfield; }
.quick-cart-quantity input::-webkit-inner-spin-button,
.quick-cart-quantity input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.quick-cart-quantity button:hover { background: #e9ecef; }
.quick-cart-quantity :focus-visible { outline: 2px solid #b5121b; outline-offset: 2px; }
.quick-cart-quantity :disabled { opacity: .55; cursor: wait; }
.quick-cart-message { font-size: 12px; line-height: 18px; min-height: 30px; text-align: center; padding: 6px 8px; color: #4c555d; }
.product-thumb.is-in-cart { border-color: #168a48; box-shadow: 0 0 0 1px #168a48; }
.product-thumb.is-in-cart .quick-cart-message { color: #168a48; }
.product-thumb .button button.artcopy-is-in-cart,
#product-category .product-thumb .button button.artcopy-is-in-cart { color: #168a48; background: #e3f5e9; }
.product-thumb .button button.artcopy-is-in-cart:hover,
#product-category .product-thumb .button button.artcopy-is-in-cart:hover { color: #0e6634; background: #c8ead4; }

/* Cart: warm product panel and a distinct purchase summary. */
#checkout-cart h1 { margin: 24px 0; }
.artcopy-cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; align-items: start; }
.artcopy-cart-products { border: 1px solid #ddc9ac; border-radius: 12px; background: #fffaf2; box-shadow: 0 6px 20px #50341210; }
.artcopy-cart-products .table { --bs-table-bg: transparent; --bs-table-border-color: #e8dac6; margin-bottom: 0; }
.artcopy-cart-products thead { background: #eadbc5; color: #513e2d; }
.artcopy-cart-products th { padding: 16px 12px; font-size: 13px; white-space: nowrap; }
.artcopy-cart-products td { padding: 20px 12px; vertical-align: middle; }
.artcopy-cart-products tbody tr:nth-child(even) { background: #f7eedf; }
.artcopy-cart-products tbody tr:last-child td { border-bottom: 0; }
.artcopy-cart-products td:nth-child(2) > a { color: #76202a; font-weight: 600; font-size: 15px; }
.artcopy-cart-products small { color: #6d6257; }
.artcopy-cart-products .img-thumbnail { width: 72px; min-width: 60px; border: 1px solid #e8dac6; border-radius: 8px; }
.artcopy-cart-products .input-group { min-width: 145px; max-width: 170px; flex-wrap: nowrap; }
.artcopy-cart-products .input-group .form-control { min-width: 45px; text-align: center; }
.artcopy-cart-products td:nth-last-child(-n+2) { white-space: nowrap; }
.artcopy-cart-products td:last-child { font-weight: 700; }
.artcopy-cart-summary { padding: 24px; border: 1px solid #d8bea0; border-top: 4px solid #b5121b; border-radius: 12px; background: #f7ebd8; box-shadow: 0 6px 20px #50341214; }
.artcopy-cart-summary h2 { margin: 0 0 20px; font-size: 21px; color: #503c2c; }
.artcopy-cart-summary .table { --bs-table-bg: transparent; --bs-table-border-color: #dfcdb5; }
.artcopy-cart-summary th, .artcopy-cart-summary td { padding: 12px 0; font-size: 14px; }
.artcopy-cart-summary th { font-weight: 400; }
.artcopy-cart-summary td { width: 1%; white-space: nowrap; padding-left: 16px; font-variant-numeric: tabular-nums; vertical-align: middle; }
.artcopy-cart-summary th { vertical-align: middle; }
.artcopy-cart-summary tr:last-child > * { padding-top: 20px; border-bottom: 0; color: #87111a; font-weight: 700; font-size: 20px; }
.artcopy-cart-checkout { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 14px 18px; font-size: 17px; font-weight: 600; border-radius: 8px; }
.artcopy-cart-actions { margin: 24px 0 32px; }
.artcopy-cart-actions .btn { background: #fffaf2; border: 1px solid #ddc9ac; border-radius: 8px; padding: 12px 18px; }
.artcopy-cart-actions i { margin-right: 8px; }
@media (max-width: 1199px) {
  .artcopy-cart-layout { grid-template-columns: minmax(0, 1fr); }
  .artcopy-cart-summary { width: 100%; max-width: 440px; justify-self: end; }
}
@media (max-width: 575px) {
  .artcopy-cart-products th, .artcopy-cart-products td { padding: 12px 8px; }
  .artcopy-cart-summary { max-width: none; padding: 20px; }
}

/* Shared navigation trail throughout the storefront. */
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 0;
  padding: 10px 14px;
  background: #fffaf2;
  border: 1px solid #ddc9ac;
  border-radius: 12px;
  box-shadow: 0 4px 14px #5034120d;
}
.breadcrumb > li.breadcrumb-item {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 0;
  text-shadow: none;
  white-space: normal;
  overflow-wrap: anywhere;
}
.breadcrumb > li.breadcrumb-item::after { display: none; }
.breadcrumb > li.breadcrumb-item + li::before {
  content: "›";
  float: none;
  padding: 0 12px;
  color: #a48b6c;
  font-size: 22px;
  line-height: 1;
}
.breadcrumb > li.breadcrumb-item > a {
  display: inline-block;
  padding: 5px 8px;
  border-radius: 6px;
  color: #87111a;
  text-decoration: none;
}
.breadcrumb > li.breadcrumb-item > a:hover { background: #f7ebd8; color: #631019; }
.breadcrumb > li.breadcrumb-item > a:focus-visible { outline: 2px solid #b5121b; outline-offset: 2px; }
.breadcrumb > li.breadcrumb-item:last-child > a { background: #f7ebd8; color: #513e2d; font-weight: 600; }
@media (max-width: 575px) {
  .breadcrumb { padding: 8px; }
  .breadcrumb > li.breadcrumb-item + li::before { padding: 0 6px; }
}

/* Quick cart matches the cart and checkout panels. */
#cart .artcopy-mini-cart { width: 560px; max-width: calc(100vw - 32px); padding: 0; background: #fffaf2; border: 1px solid #ddc9ac; border-top: 4px solid #b5121b; border-radius: 12px; box-shadow: 0 10px 30px #50341226; overflow: hidden; }
#cart .artcopy-mini-cart li { min-width: 0; }
#cart .artcopy-mini-cart .table { --bs-table-bg: transparent; --bs-table-border-color: #e8dac6; margin-bottom: 0; }
#cart .artcopy-mini-products td { padding: 14px 10px; vertical-align: middle; }
#cart .artcopy-mini-products tr:nth-child(even) { background: #f7eedf; }
#cart .artcopy-mini-products td:first-child { width: 82px !important; }
#cart .artcopy-mini-products .img-thumbnail { width: 64px; min-width: 64px; border-color: #e8dac6; border-radius: 8px; }
#cart .artcopy-mini-products td:nth-child(2) > a { color: #76202a; font-weight: 600; }
#cart .artcopy-mini-products small { color: #6d6257; }
#cart .artcopy-mini-products td:nth-child(4) { white-space: nowrap; font-weight: 600; }
#cart .artcopy-mini-products .btn-danger { padding: 8px 10px; border: 1px solid #ddc9ac; border-radius: 7px; color: #a01018; background: #f7ebd8; }
#cart .artcopy-mini-products .btn-danger:hover { background: #b5121b; border-color: #b5121b; color: #fff; }
#cart .artcopy-mini-summary { background: #f7ebd8; padding: 16px 20px 20px; }
#cart .artcopy-mini-summary td { padding: 9px 0; }
#cart .artcopy-mini-summary td:first-child { text-align: left !important; }
#cart .artcopy-mini-summary tr:last-child td { border-bottom: 0; padding-top: 14px; font-size: 19px; color: #87111a; font-weight: 700; }
.artcopy-mini-actions { display: flex; gap: 12px; margin-top: 14px; }
.artcopy-mini-actions .btn { flex: 1; padding: 12px; border-radius: 8px; font-weight: 600; }
.artcopy-mini-actions .btn-light { background: #fffaf2; border-color: #ddc9ac; color: #513e2d; }
.artcopy-mini-actions i { margin: 0 4px; }
@media (max-width: 575px) {
  #cart .artcopy-mini-products, #cart .artcopy-mini-products tbody { display: block; }
  #cart .artcopy-mini-products tr { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; padding: 12px; gap: 6px 10px; border-bottom: 1px solid #e8dac6; }
  #cart .artcopy-mini-products td { padding: 0; border: 0; }
  #cart .artcopy-mini-products td:first-child { grid-row: 1 / 3; width: 64px !important; }
  #cart .artcopy-mini-products td:nth-child(2) { grid-column: 2; grid-row: 1; }
  #cart .artcopy-mini-products td:nth-child(3) { grid-column: 3; grid-row: 1; }
  #cart .artcopy-mini-products td:nth-child(4) { grid-column: 2; grid-row: 2; text-align: left !important; align-self: center; }
  #cart .artcopy-mini-products td:nth-child(5) { grid-column: 3; grid-row: 2; }
  #cart .artcopy-mini-summary { padding: 12px 16px 16px; }
}

/* Checkout uses the same warm panels as the cart. Keep AJAX containers intact. */
#checkout-checkout h1 { margin: 24px 0; }
.artcopy-checkout-layout { align-items: flex-start; }
.artcopy-checkout-details, .artcopy-checkout-summary-column { min-width: 0; }
.artcopy-checkout-comments { margin-top: 18px; border-top: 1px solid #dfcdb5; padding-top: 16px; }
.artcopy-checkout-comments summary { cursor: pointer; color: #513e2d; font-weight: 600; }
.artcopy-checkout-comments summary span { font-weight: 400; color: #6d6257; }
.artcopy-checkout-comments summary:focus-visible { outline: 2px solid #b5121b; outline-offset: 4px; border-radius: 3px; }
.artcopy-checkout-comments textarea { margin-top: 14px; resize: vertical; }
#checkout-register,
#checkout-payment-address,
#checkout-shipping-address,
#checkout-shipping-method,
#checkout-payment-method,
#checkout-confirm {
  background: #fffaf2;
  border: 1px solid #ddc9ac;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 24px;
  box-shadow: 0 6px 20px #50341210;
}
#checkout-checkout legend {
  float: none;
  width: 100%;
  margin-bottom: 22px;
  padding-bottom: 14px;
  border-bottom: 1px solid #dfcdb5;
  color: #503c2c;
  font-size: 22px;
  font-weight: 600;
}
#checkout-register fieldset + fieldset { margin-top: 24px; }
#checkout-checkout .form-label { color: #513e2d; }
#checkout-checkout .form-control,
#checkout-checkout .form-select { border-color: #ddc9ac; border-radius: 7px; min-height: 44px; }
#checkout-checkout .form-control:focus,
#checkout-checkout .form-select:focus { border-color: #b5121b; box-shadow: 0 0 0 3px #b5121b18; }
#checkout-checkout .input-group-text { background: #eadbc5; color: #513e2d; border-color: #ddc9ac; }
#checkout-checkout .input-group > .form-control { border-radius: 0; min-width: 0; }
#checkout-checkout .input-group > .btn { border-radius: 0 7px 7px 0; }
#checkout-checkout .btn-primary { border-radius: 7px; padding: 12px 18px; font-weight: 600; }
#checkout-checkout .btn-primary:disabled { background: #b5121b; border-color: #a01018; opacity: .45; }
#checkout-checkout .form-check-input:checked { background-color: #b5121b; border-color: #b5121b; }
#checkout-checkout .form-check-input:focus { border-color: #b5121b; box-shadow: 0 0 0 3px #b5121b18; }
#checkout-checkout .form-check-label a,
#checkout-register > form > p a { color: #87111a; text-decoration: underline; }
#checkout-confirm { background: #f7ebd8; border-color: #d8bea0; border-top: 4px solid #b5121b; }
#checkout-confirm .artcopy-checkout-summary-title { margin: 0 0 20px; font-size: 22px; font-weight: 600; color: #503c2c; }
#checkout-confirm .table { --bs-table-bg: transparent; --bs-table-border-color: #dfcdb5; --bs-table-hover-bg: #eadbc555; }
#checkout-confirm .table > :not(caption) > * { border-width: 0 0 1px; }
#checkout-confirm .table > :not(caption) > * > * { border-width: 0; padding: 14px 10px; vertical-align: middle; }
#checkout-confirm thead { background: #eadbc5; color: #513e2d; }
#checkout-confirm tbody a { color: #76202a; font-weight: 600; }
#checkout-confirm small { color: #6d6257; }
#checkout-confirm td:last-child { white-space: nowrap; }
#checkout-confirm tfoot tr:last-child { border-bottom: 0; }
#checkout-confirm tfoot td:first-child { text-align: left !important; }
#checkout-confirm tfoot tr:last-child td { padding-top: 20px; font-size: 20px; font-weight: 700; color: #87111a; }
#checkout-payment .btn-primary { width: 100%; font-size: 16px; margin-top: 8px; }
#checkout-payment .artcopy-payment-instructions { background: #fffaf2; padding: 14px 16px; margin: 4px 0 16px; font-size: 14px; line-height: 1.6; }
@media (max-width: 575px) {
  #checkout-register, #checkout-payment-address, #checkout-shipping-address,
  #checkout-shipping-method, #checkout-payment-method, #checkout-confirm { padding: 18px; }
  #checkout-checkout legend, #checkout-confirm .artcopy-checkout-summary-title { font-size: 20px; }
  #checkout-confirm .table > :not(caption) > * > * { padding: 12px 6px; }
}

.artcopy-free-shipping-notice { background: #edf8f1; border: 1px solid #cae7d5; border-radius: 8px; padding: 12px 14px; color: #21613b; font-size: 14px; line-height: 1.5; }
.artcopy-payment-instructions { padding: 18px; margin-bottom: 20px; border: 1px solid #ddc9ac; border-radius: 9px; background: #f7ebd8; color: #513e2d; line-height: 1.7; }
.artcopy-payment-instructions p:last-child { margin-bottom: 0; }
.artcopy-bank-details { padding: 14px; border-radius: 7px; background: #fffaf2; overflow-wrap: anywhere; }

/* Order details share the cart's warm panels without affecting the order list. */
.artcopy-order-info .artcopy-order-heading { margin: 24px 0; color: #503c2c; font-size: 30px; }
.artcopy-order-info .artcopy-order-card,
.artcopy-order-info .artcopy-order-products { background: #fffaf2; border: 1px solid #ddc9ac; border-radius: 12px; padding: 22px 24px; color: #513e2d; line-height: 1.7; box-shadow: 0 6px 20px #50341210; min-width: 0; }
.artcopy-order-info .artcopy-order-card { height: 100%; }
.artcopy-order-info .artcopy-order-card-title { margin: 0 0 12px; color: #503c2c; font-size: 18px; font-weight: 600; }
.artcopy-order-info .artcopy-order-products { margin: 8px 0 24px; background: #f7ebd8; border-top: 4px solid #b5121b; }
.artcopy-order-info .artcopy-order-products > h2 { margin: 0 0 20px; color: #503c2c; font-size: 22px; font-weight: 600; }
.artcopy-order-info .table { margin-bottom: 0; --bs-table-bg: transparent; --bs-table-border-color: #dfcdb5; --bs-table-hover-bg: #eadbc555; }
.artcopy-order-info .table > :not(caption) > * > * { padding: 14px 12px; vertical-align: middle; border-width: 0 0 1px; }
.artcopy-order-info thead { background: #eadbc5; color: #513e2d; }
.artcopy-order-info .table a:not(.btn) { color: #87111a; font-weight: 600; }
.artcopy-order-info .table small { color: #6d6257; }
.artcopy-order-info .artcopy-order-products th:nth-child(2),
.artcopy-order-info .artcopy-order-products tbody td:nth-child(2) { text-align: center !important; }
.artcopy-order-info .artcopy-order-products td:nth-child(3),
.artcopy-order-info .artcopy-order-products td:nth-child(4) { white-space: nowrap; }
.artcopy-order-info .artcopy-order-total td { border-bottom: 0; padding-top: 20px !important; font-size: 20px; font-weight: 700; color: #87111a; }
.artcopy-order-info .btn { border-radius: 7px; padding: 10px 16px; font-weight: 600; }
.artcopy-order-info .artcopy-order-products .btn-danger { background: transparent; border-color: #d8bea0; color: #87111a; }
.artcopy-order-info .artcopy-order-products .btn-danger:hover { background: #eadbc5; border-color: #b5121b; }
.artcopy-order-info .artcopy-order-history { height: auto; margin-bottom: 24px; }
.artcopy-order-info .artcopy-order-history .artcopy-order-card-title { padding-bottom: 14px; border-bottom: 1px solid #dfcdb5; font-size: 22px; }
.artcopy-order-info .artcopy-order-continue { margin: 24px 0 32px; }
.artcopy-order-info .artcopy-order-return-contact { margin: 0 0 24px; color: #513e2d; }
.artcopy-order-info .artcopy-order-return-contact a { color: #87111a; font-weight: 600; text-decoration: underline; }
@media (max-width: 575px) {
  .artcopy-order-info .artcopy-order-card, .artcopy-order-info .artcopy-order-products { padding: 18px; }
  .artcopy-order-info .artcopy-order-heading { font-size: 26px; }
  .artcopy-order-info .table > :not(caption) > * > * { padding: 12px 8px; }
  .artcopy-order-info .artcopy-order-products .table { min-width: 650px; }
  .artcopy-order-info .artcopy-order-continue .btn { width: 100%; }
}

/* Order history and account balance tables. */
.artcopy-account-table-panel { margin: 24px 0 32px; padding: 26px; background: #fffaf2; border: 1px solid #ddc9ac; border-top: 4px solid #b5121b; border-radius: 14px; box-shadow: 0 6px 20px #50341210; }
.artcopy-account-table-panel h1 { margin: 0 0 24px; color: #503c2c; font-size: 30px; }
.artcopy-account-table-panel .table { margin-bottom: 0; --bs-table-bg: transparent; --bs-table-border-color: #dfcdb5; --bs-table-hover-bg: #eadbc555; }
.artcopy-account-table-panel .table > :not(caption) > * > * { padding: 16px 12px; border-width: 0 0 1px; vertical-align: middle; color: #513e2d; }
.artcopy-account-table-panel thead { background: #eadbc5; }
.artcopy-account-table-panel .btn { padding: 11px 16px; border-radius: 7px; font-weight: 600; }
.artcopy-order-view { white-space: nowrap; }
.artcopy-order-view i { margin-right: 6px; }
.artcopy-order-list th:nth-child(1), .artcopy-order-list td:nth-child(1),
.artcopy-order-list th:nth-child(2), .artcopy-order-list td:nth-child(2) { text-align: center !important; }
.artcopy-order-list td:nth-child(1) { font-weight: 600; color: #87111a !important; }
.artcopy-order-list td:nth-child(4), #account-transaction td:last-child:not([colspan]) { white-space: nowrap; font-weight: 600; }
.artcopy-order-status { display: inline-block; padding: 5px 12px; border: 1px solid #e7d3b1; border-radius: 20px; background: #f7ebd8; color: #765123; font-size: 13px; font-weight: 600; }
.artcopy-account-table-pagination { margin-top: 20px; color: #6d6257; font-size: 13px; align-items: center; }
.artcopy-account-table-actions { border-top: 1px solid #dfcdb5; padding-top: 20px; margin-top: 20px; }
.artcopy-account-table-empty { padding: 32px 18px !important; color: #6d6257; text-align: center; }
.artcopy-account-table-empty > i { display: block; margin-bottom: 14px; font-size: 30px; color: #99816a; }
.artcopy-account-table-empty p { margin: 0; }
.artcopy-transaction-balance { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 16px 18px; margin-bottom: 24px; border: 1px solid #cae7d5; border-radius: 9px; background: #edf8f1; color: #21613b; }
.artcopy-transaction-balance i { margin-right: 4px; }
.artcopy-transaction-balance b { white-space: nowrap; }
@media (max-width: 575px) {
  .artcopy-account-table-panel { padding: 20px 18px; }
  .artcopy-account-table-panel h1 { font-size: 26px; }
  .artcopy-order-list .table { min-width: 680px; }
  #account-transaction .table { min-width: 430px; }
  .artcopy-account-table-pagination .text-end { text-align: left !important; margin-top: 8px; }
}

/* Personal details use the registration card and retain native validation hooks. */
:is(#account-edit, #account-password) .artcopy-edit-panel { max-width: 860px; margin: 24px auto 32px; padding: 32px; border: 1px solid #ddc9ac; border-top: 4px solid #b5121b; border-radius: 14px; background: #fffaf2; box-shadow: 0 6px 20px #50341210; }
:is(#account-edit, #account-password) h1 { margin: 0 0 12px; color: #503c2c; font-size: 30px; }
:is(#account-edit, #account-password) .artcopy-edit-intro { margin: 0 0 28px; color: #6d6257; line-height: 1.6; }
:is(#account-edit, #account-password) legend { float: none; margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid #dfcdb5; color: #503c2c; font-size: 20px; font-weight: 600; }
:is(#account-edit, #account-password) :is(#form-customer, #form-password) fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
:is(#account-edit, #account-password) :is(#form-customer, #form-password) fieldset > * { grid-column: 1 / -1; }
:is(#account-edit, #account-password) :is(#form-customer, #form-password) fieldset > .row:has(#input-firstname), :is(#account-edit, #account-password) :is(#form-customer, #form-password) fieldset > .row:has(#input-lastname) { grid-column: auto; }
:is(#account-edit, #account-password) :is(#form-customer, #form-password) .row { margin-left: 0; margin-right: 0; }
:is(#account-edit, #account-password) :is(#form-customer, #form-password) .col-sm-2, :is(#account-edit, #account-password) :is(#form-customer, #form-password) .col-md-3, :is(#account-edit, #account-password) :is(#form-customer, #form-password) .col-md-9, :is(#account-edit, #account-password) :is(#form-customer, #form-password) .col-sm-10 { width: 100%; padding-left: 0; padding-right: 0; }
:is(#account-edit, #account-password) .col-form-label { padding: 0 0 8px !important; text-align: left !important; color: #513e2d; font-weight: 600; }
:is(#account-edit, #account-password) .form-control, :is(#account-edit, #account-password) .form-select { min-height: 46px; border-color: #ddc9ac; border-radius: 7px; font-size: 16px; }
:is(#account-edit, #account-password) .form-control:focus, :is(#account-edit, #account-password) .form-select:focus { border-color: #b5121b; box-shadow: 0 0 0 3px #b5121b18; }
:is(#account-edit, #account-password) :is(#form-customer, #form-password) > .row { margin-top: 10px; padding-top: 22px; border-top: 1px solid #dfcdb5; align-items: center; }
:is(#account-edit, #account-password) :is(#form-customer, #form-password) > .row > .col { padding: 0; }
:is(#account-edit, #account-password) .btn { padding: 12px 20px; border-radius: 7px; font-weight: 600; }
:is(#account-edit, #account-password) .btn-light { background: #fffaf2; border-color: #ddc9ac; color: #87111a; }
:is(#account-edit, #account-password) .btn-light:hover { background: #eadbc5; }
@media (max-width: 575px) {
  :is(#account-edit, #account-password) .artcopy-edit-panel { padding: 22px 18px; }
  :is(#account-edit, #account-password) h1 { font-size: 26px; }
  :is(#account-edit, #account-password) :is(#form-customer, #form-password) fieldset { grid-template-columns: minmax(0, 1fr); }
  :is(#account-edit, #account-password) .btn { padding: 12px 14px; }
}

/* Saved hearts and wishlist table use the store's burgundy accent. */
.product-thumb .button button.artcopy-is-wished,
#product-info .artcopy-product-secondary button.artcopy-is-wished { color: #b5121b; background: #f9e9e5; }
.product-thumb .button button.artcopy-is-wished:hover,
#product-info .artcopy-product-secondary button.artcopy-is-wished:hover { color: #87111a; background: #f3d9d4; }
#account-wishlist .artcopy-wishlist-panel { margin: 24px 0 32px; padding: 26px; background: #fffaf2; border: 1px solid #ddc9ac; border-top: 4px solid #b5121b; border-radius: 14px; box-shadow: 0 6px 20px #50341210; }
#account-wishlist h1 { margin: 0 0 24px; color: #503c2c; font-size: 30px; }
#account-wishlist .table { --bs-table-bg: transparent; --bs-table-border-color: #dfcdb5; --bs-table-hover-bg: #eadbc555; }
#account-wishlist .table > :not(caption) > * > * { padding: 16px 12px; border-width: 0 0 1px; vertical-align: middle; }
#account-wishlist thead { background: #eadbc5; color: #513e2d; }
#account-wishlist .table a:not(.btn) { color: #87111a; font-weight: 600; }
#account-wishlist .table img { max-width: 90px; padding: 8px; border: 1px solid #e8dac6; border-radius: 9px; background: #fff; }
#account-wishlist .table th:nth-child(4), #account-wishlist .table td:nth-child(4) { text-align: center !important; }
#account-wishlist .price { color: #87111a; font-weight: 600; }
#account-wishlist .btn { padding: 11px 16px; border-radius: 7px; font-weight: 600; }
#account-wishlist .btn-danger { background: transparent; border-color: #ddc9ac; color: #87111a; }
#account-wishlist .btn-danger:hover { background: #eadbc5; border-color: #b5121b; }
#account-wishlist .artcopy-wishlist-panel > .text-end { border-top: 1px solid #dfcdb5; padding-top: 20px; margin-top: 20px; }
@media (max-width: 575px) {
  #account-wishlist .artcopy-wishlist-panel { padding: 20px 18px; }
  #account-wishlist h1 { font-size: 26px; }
  #account-wishlist .table { min-width: 0; display: block; }
  #account-wishlist .table thead { display: none; }
  #account-wishlist .table tbody { display: grid; gap: 14px; }
  #account-wishlist .table tr { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 0 10px; padding: 14px; border: 1px solid #dfcdb5; border-radius: 10px; background: #f7ebd8; }
  #account-wishlist .table > tbody > tr > td { border: 0; padding: 5px 0; width: auto !important; min-width: 0; text-align: left !important; }
  #account-wishlist .table td:first-child { grid-column: 1; grid-row: 1 / span 4; }
  #account-wishlist .table td:nth-child(n+2):nth-child(-n+5) { grid-column: 2; }
  #account-wishlist .table td:nth-child(2) a { overflow-wrap: anywhere; }
  #account-wishlist .table td[data-label] { font-size: 13px; color: #756351; }
  #account-wishlist .table td[data-label]::before { content: attr(data-label) ': '; font-weight: 600; }
  #account-wishlist .table td:last-child { grid-column: 1 / -1; border-top: 1px solid #dfcdb5; margin-top: 10px; padding-top: 12px; }
  #account-wishlist .table img { max-width: 72px; }
  #account-password .btn { padding: 12px 10px; }
}

/* Address cards and forms keep their existing AJAX hooks. */
#account-address h1 { margin: 24px 0 10px; color: #503c2c; font-size: 30px; }
#account-address .artcopy-address-intro { margin-bottom: 26px; color: #6d6257; font-size: 16px; }
.artcopy-address-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.artcopy-address-card, .artcopy-address-empty, #account-address #form-address { padding: 26px; border: 1px solid #ddc9ac; border-radius: 14px; background: #fffaf2; color: #513e2d; box-shadow: 0 6px 20px #50341210; }
.artcopy-address-card { display: flex; flex-direction: column; min-width: 0; }
.artcopy-address-default { border-top: 4px solid #b5121b; padding-top: 23px; }
.artcopy-address-card-header { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.artcopy-address-icon { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 10px; background: #f7ebd8; color: #87111a; font-size: 20px; }
.artcopy-address-badge { border: 1px solid #cae7d5; border-radius: 20px; padding: 5px 12px; background: #edf8f1; color: #21613b; font-size: 13px; font-weight: 600; }
.artcopy-address-details { flex: 1; line-height: 1.8; font-size: 15px; overflow-wrap: anywhere; }
.artcopy-address-card-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; padding-top: 18px; border-top: 1px solid #dfcdb5; }
#account-address .btn { padding: 11px 18px; border-radius: 7px; font-weight: 600; }
#account-address .btn i { margin-right: 6px; }
#account-address .btn-danger, #account-address .btn-light { border-color: #ddc9ac; background: #fffaf2; color: #87111a; }
#account-address .btn-danger:hover, #account-address .btn-light:hover { background: #eadbc5; border-color: #b5121b; }
.artcopy-address-actions { margin-top: 24px; margin-bottom: 32px; }
#account-address #form-address { max-width: 860px; margin: 22px auto 32px; border-top: 4px solid #b5121b; }
#account-address #form-address .col-sm-2, #account-address #form-address .col-sm-10 { width: 100%; }
#account-address #form-address .col-form-label { padding-top: 0; text-align: left !important; color: #513e2d; font-weight: 600; }
#account-address .form-control, #account-address .form-select { min-height: 46px; border-color: #ddc9ac; border-radius: 7px; font-size: 16px; }
#account-address .form-control:focus, #account-address .form-select:focus { border-color: #b5121b; box-shadow: 0 0 0 3px #b5121b18; }
#account-address .form-check-input:checked { background-color: #b5121b; border-color: #b5121b; }
@media (max-width: 767px) {
  .artcopy-address-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
}
@media (max-width: 575px) {
  #account-address h1 { font-size: 26px; }
  .artcopy-address-card, .artcopy-address-empty, #account-address #form-address { padding: 20px; }
  .artcopy-address-default { padding-top: 17px; }
  #account-address .btn { padding: 11px 14px; }
}

/* Account home groups its existing actions into accessible cards. */
#account-account h1 { margin: 24px 0 10px; color: #503c2c; font-size: 30px; }
#account-account .artcopy-account-intro { margin-bottom: 26px; color: #6d6257; font-size: 16px; }
.artcopy-account-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-bottom: 32px; align-items: start; }
.artcopy-account-panel { min-width: 0; padding: 26px; border: 1px solid #ddc9ac; border-radius: 14px; background: #fffaf2; box-shadow: 0 6px 20px #50341210; }
.artcopy-account-panel h2 { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; padding-bottom: 18px; border-bottom: 1px solid #dfcdb5; color: #503c2c; font-size: 22px; font-weight: 600; }
.artcopy-account-panel h2 > i { font-size: 18px; color: #87111a; }
.artcopy-account-orders { background: #f7ebd8; border-top: 4px solid #b5121b; padding-top: 23px; }
.artcopy-account-links { margin: 0; }
.artcopy-account-links li + li { border-top: 1px solid #eadbc5; }
.artcopy-account-links a { display: flex; align-items: center; gap: 14px; min-height: 56px; padding: 12px 10px; border-radius: 7px; color: #513e2d; font-size: 15px; line-height: 1.5; text-decoration: none; transition: background-color .15s, color .15s; }
.artcopy-account-links a > i:first-child { flex: 0 0 20px; text-align: center; color: #87111a; font-size: 16px; }
.artcopy-account-links a > span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.artcopy-account-links .artcopy-account-arrow { font-size: 11px; color: #99816a; }
.artcopy-account-links a:hover { color: #87111a; background: #eadbc577; }
.artcopy-account-links a:focus-visible { outline: 2px solid #b5121b; outline-offset: 2px; background: #eadbc577; }
.artcopy-account-affiliate { grid-column: 1 / -1; }
@media (max-width: 767px) {
  .artcopy-account-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .artcopy-account-panel { padding: 20px; }
  .artcopy-account-orders { padding-top: 17px; }
}
@media (max-width: 575px) {
  #account-account h1 { font-size: 26px; }
  .artcopy-account-panel h2 { font-size: 20px; }
  .artcopy-account-links a { padding: 12px 4px; gap: 10px; }
}

/* Registration keeps the same warm surfaces as cart and checkout. */
/* Product gallery, purchase panel and information tabs. */
#product-info .artcopy-product-layout { display: flex; gap: 24px; margin: 8px 0 24px; align-items: flex-start; }
#product-info .artcopy-product-gallery,
#product-info .artcopy-product-summary { min-width: 0; padding: 26px; border: 1px solid #ddc9ac; border-radius: 14px; background: #fffaf2; box-shadow: 0 6px 20px #50341210; }
#product-info .artcopy-product-gallery { flex: 1 1 0; }
#product-info .artcopy-product-summary { flex: 1 1 0; background: #f7ebd8; border-top: 4px solid #b5121b; }
#product-info .artcopy-product-gallery .image { text-align: center; }
#product-info .artcopy-product-gallery .image > a { display: flex; justify-content: center; align-items: center; padding: 18px; background: #fff; border: 1px solid #e8dac6; border-radius: 10px; }
#product-info .artcopy-product-gallery .image > a > img { display: block; width: 100%; max-width: 480px; height: auto; margin: 0 !important; border: 0; padding: 0; }
#product-info .artcopy-product-thumbnails { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
#product-info .artcopy-product-thumbnails a { display: block; }
#product-info .artcopy-product-thumbnails img { border-color: #e8dac6; border-radius: 8px; max-width: 90px; height: auto; }
#product-info .artcopy-product-thumbnails a:hover img { border-color: #b5121b; }
#product-info .artcopy-product-summary h1 { color: #503c2c; font-size: clamp(24px, 2.2vw, 32px); line-height: 1.25; margin: 0 0 20px; overflow-wrap: anywhere; }
#product-info .artcopy-product-meta { margin-bottom: 18px; color: #6d6257; }
#product-info .artcopy-product-meta li { padding: 4px 0; }
#product-info .artcopy-product-meta a, #product-info .rating a { color: #87111a; }
#product-info .rating p { line-height: 1.8; margin-bottom: 18px; }
#product-info .artcopy-product-price { padding: 20px 0; margin: 0 0 18px; border-top: 1px solid #dfcdb5; border-bottom: 1px solid #dfcdb5; color: #6d6257; }
#product-info .artcopy-product-price h2 { margin: 0 0 8px; font-size: 32px; line-height: 1.2; }
#product-info .artcopy-product-price .price-new { color: #87111a; font-weight: 700; }
#product-info .artcopy-product-price .price-old { text-decoration: line-through; }
#product-info .artcopy-product-price li { overflow-wrap: anywhere; }
#product-info .artcopy-product-secondary { margin-bottom: 22px; }
#product-info .artcopy-product-secondary .btn { min-width: 46px; border-color: #ddc9ac; background: #fffaf2; color: #87111a; }
#product-info .artcopy-product-secondary .btn:hover { background: #eadbc5; }
#product-info #product h3 { color: #503c2c; font-size: 20px; margin-bottom: 18px; }
#product-info .form-label { color: #513e2d; font-weight: 600; }
#product-info .form-control, #product-info .form-select { min-height: 46px; border-color: #ddc9ac; border-radius: 7px; font-size: 16px; }
#product-info .form-control:focus, #product-info .form-select:focus, #product-info .form-check-input:focus { border-color: #b5121b; box-shadow: 0 0 0 3px #b5121b18; }
#product-info .form-check-input:checked { background-color: #b5121b; border-color: #b5121b; }
#product-info .btn-primary { padding: 12px 20px; border-radius: 7px; font-weight: 600; }
#product-info .artcopy-product-purchase { gap: 10px; align-items: stretch; }
#product-info .artcopy-product-purchase > .input-group-text { border: 0; background: transparent; color: #513e2d; padding-left: 0; }
#product-info .artcopy-product-purchase > #input-quantity { flex: 0 1 86px; width: 86px; margin: 0; border-radius: 7px; text-align: center; font-size: 18px; font-weight: 700; }
#product-info .artcopy-product-purchase > #button-cart { flex: 1 1 180px; margin: 0; border-radius: 7px; font-size: 16px; }
#product-info .artcopy-product-details { margin-bottom: 28px; padding: 24px; border: 1px solid #ddc9ac; border-radius: 14px; background: #fffaf2; box-shadow: 0 6px 20px #50341210; }
#product-info .artcopy-product-details .nav-tabs { gap: 6px; border-bottom-color: #ddc9ac; margin-bottom: 22px; }
#product-info .artcopy-product-details .nav-link { padding: 12px 18px; color: #6d6257; border-radius: 8px 8px 0 0; font-weight: 600; }
#product-info .artcopy-product-details .nav-link.active { background: #f7ebd8; color: #87111a; border-color: #ddc9ac #ddc9ac #f7ebd8; }
#product-info .artcopy-product-details .nav-link:hover { color: #87111a; border-color: #ddc9ac; }
#product-info .artcopy-product-details .tab-pane { margin-bottom: 0 !important; color: #513e2d; line-height: 1.75; overflow-wrap: anywhere; }
#product-info #tab-description img { max-width: 100%; height: auto; }
#product-info #tab-description table { max-width: 100%; }
#product-info .artcopy-product-details h2 { color: #503c2c; font-size: 22px; }
#product-info .artcopy-product-details .table { --bs-table-bg: transparent; --bs-table-border-color: #dfcdb5; }
#product-info .artcopy-product-details thead { background: #eadbc5; }
#product-info .artcopy-product-details td { padding: 12px; }
@media (max-width: 767px) {
  #product-info .artcopy-product-layout { flex-direction: column; gap: 18px; }
  #product-info .artcopy-product-gallery, #product-info .artcopy-product-summary { width: 100%; flex: auto; padding: 20px; }
  #product-info .artcopy-product-details { padding: 20px; }
}
@media (max-width: 575px) {
  #product-info .artcopy-product-gallery, #product-info .artcopy-product-summary, #product-info .artcopy-product-details { padding: 18px; }
  #product-info .artcopy-product-details .nav-link { padding: 10px 12px; }
}

#account-register .artcopy-register-panel {
  max-width: 860px;
  margin: 8px auto 32px;
  padding: 32px;
  background: #fffaf2;
  border: 1px solid #ddc9ac;
  border-top: 4px solid #b5121b;
  border-radius: 14px;
  box-shadow: 0 6px 20px #50341210;
}
#account-register .artcopy-register-heading { margin-bottom: 28px; }
#account-register h1 { font-size: 30px; color: #503c2c; margin-bottom: 12px; }
#account-register .artcopy-register-heading p { margin: 0; color: #6d6257; }
#account-register a { color: #87111a; }
#account-register legend { float: none; font-size: 20px; font-weight: 600; color: #503c2c; padding-bottom: 12px; margin-bottom: 18px; border-bottom: 1px solid #e5d6c2; }
#account-register fieldset + fieldset { margin-top: 24px; }
#account-register #account { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
#account-register #account > legend, #account-register #account > .custom-field,
#account-register #account > .row:has(#input-email),
#account-register #account > .row:has(#input-customer-group) { grid-column: 1 / -1; }
#account-register #form-register .row { margin-left: 0; margin-right: 0; }
#account-register #form-register .col-sm-2,
#account-register #form-register .col-sm-10 { width: 100%; padding: 0; }
#account-register .col-form-label { color: #513e2d; font-weight: 600; text-align: left !important; padding: 0 0 8px !important; }
#account-register .form-control, #account-register .form-select { min-height: 46px; border-color: #ddc9ac; border-radius: 7px; font-size: 16px; }
#account-register .form-control:focus, #account-register .form-select:focus,
#account-register .form-check-input:focus { border-color: #b5121b; box-shadow: 0 0 0 3px #b5121b18; }
#account-register .form-check-input:checked { background-color: #b5121b; border-color: #b5121b; }
#account-register .artcopy-register-actions { border-top: 1px solid #e5d6c2; margin-top: 24px; padding-top: 22px; display: flex; gap: 22px; align-items: center; justify-content: space-between; }
#account-register .artcopy-register-actions .form-check { margin: 0; flex: 1; }
#account-register .artcopy-register-actions .btn { padding: 12px 26px; border-radius: 7px; font-size: 16px; font-weight: 600; }
.artcopy-captcha-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 8px; }
.artcopy-captcha-controls .form-control { width: 180px; flex: 0 1 180px; letter-spacing: 2px; }
.artcopy-captcha-controls img { border: 1px solid #ddc9ac; border-radius: 6px; width: 150px; height: 35px; }
.artcopy-captcha-refresh { border: 1px solid #ddc9ac; border-radius: 7px; background: #f7ebd8; color: #87111a; padding: 10px 12px; }
.artcopy-success-panel {
  max-width: 860px;
  margin: 8px auto 32px;
  padding: 32px;
  background: #fffaf2;
  border: 1px solid #ddc9ac;
  border-top: 4px solid #b5121b;
  border-radius: 14px;
  box-shadow: 0 6px 20px #50341210;
}
.artcopy-success-icon { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin-bottom: 20px; border-radius: 50%; background: #edf8f1; color: #258453; font-size: 24px; }
.artcopy-success-panel h1 { margin: 0 0 20px; color: #503c2c; font-size: 30px; }
.artcopy-success-panel p { color: #6d6257; line-height: 1.7; margin-bottom: 16px; }
.artcopy-success-panel a { color: #87111a; }
.artcopy-success-panel .text-end { border-top: 1px solid #e5d6c2; margin-top: 24px; padding-top: 22px; }
.artcopy-success-panel .btn-primary { color: #fff; border-radius: 7px; padding: 12px 26px; font-size: 16px; font-weight: 600; }
@media (max-width: 575px) {
  .artcopy-success-panel { padding: 22px 18px; }
  .artcopy-success-panel h1 { font-size: 26px; }
  .artcopy-success-panel .btn-primary { width: 100%; }
  #account-register .artcopy-register-panel { padding: 22px 18px; }
  #account-register h1 { font-size: 26px; }
  #account-register #account { grid-template-columns: minmax(0, 1fr); }
  #account-register .artcopy-register-actions { flex-direction: column; align-items: stretch; }
}
