/* Shared design browsing cards; loaded only by the designideas template. */
.product-images-list.design-ideas-browse .design-listing {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px 20px; margin: 8px 0 28px; padding: 0; list-style: none;
}
.product-images-list.design-ideas-browse .design-listing > li {
    width: auto; height: auto; min-width: 0; padding: 0; margin: 0;
    display: flex; text-align: left;
}
.design-ideas-browse .design-idea-inner,
.product-images-list.design-ideas-browse .designideabox {
    width: 100%; margin: 0; padding: 0; border: 1px solid #e0e5eb;
    border-radius: 10px; background: #fff; box-shadow: none;
}
.design-ideas-browse .design-idea-inner { display: flex; flex-direction: column; }
.design-ideas-browse .design-idea-image,
.design-ideas-browse .designideabox .image-box {
    display: block; aspect-ratio: 4 / 5; margin: 0; min-height: 0;
    padding: 8px; background: #fff;
}
.design-ideas-browse .design-idea-image img,
.design-ideas-browse .designideabox .image-box img {
    width: 100%; height: 100% !important; min-height: 0; border: 0; object-fit: contain;
}
.design-ideas-browse .design-idea-details { padding: 10px 14px 0; }
.design-ideas-browse .design-idea-name { overflow-wrap: anywhere; margin: 0; font-size: 16px; line-height: 1.4; font-weight: 500; }
.design-ideas-browse .design-idea-name a { color: #002a53; text-decoration: none; }
.design-ideas-browse .design-idea-garment { overflow-wrap: anywhere; margin: 4px 0 0; font-size: 14px; line-height: 1.4; color: #596675; }
.design-ideas-browse .design-idea-footer { margin-top: auto; padding: 10px 14px 14px; }
.design-ideas-browse .design-idea-price { margin: 0 0 10px; line-height: 1.4; }
.design-ideas-browse .design-idea-price strong { display: block; font-size: 15px; font-weight: 400; color: #002a53; }
.design-ideas-browse .design-idea-price span { display: block; font-size: 13px; color: #596675; }
.design-ideas-browse .design-idea-action {
    display: flex; align-items: center; justify-content: center; min-height: 44px;
    padding: 8px 10px; color: #002a53; border: 1px solid #dce3e9; border-radius: 6px;
    font-size: 14px; font-weight: 500; text-decoration: none;
}
.design-ideas-browse .design-idea-action:hover { background: #f3f6f9; }
.design-ideas-browse a:focus-visible { outline: 2px solid #002a53; outline-offset: 3px; }
.design-ideas-browse .designideabox .highlight { display: block; padding: 12px 14px 0; margin: 0; color: #002a53 !important; font-weight: 500; line-height: 1.4; }
.design-ideas-browse .designideabox > p { padding: 0 14px 14px; margin: 0; color: #596675; font-size: 14px; }
.design-ideas-browse .designideabox > ul { padding: 10px 14px 14px; margin: 0; }
.design-ideas-browse .designideabox > ul li { margin: 0; padding: 0 8px 4px 0; width: 49%; line-height: 1.5; }
.design-ideas-browse .designideabox > ul a { display: inline-block; padding: 6px 0; }
@media (max-width: 991.98px) {
    .product-images-list.design-ideas-browse .design-listing { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 16px; }
}
@media (max-width: 767.98px) {
    .product-images-list.design-ideas-browse .design-listing { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
    .design-ideas-browse .design-idea-details { padding: 10px 10px 0; }
    .design-ideas-browse .design-idea-footer { padding: 10px; }
    .design-ideas-browse .design-idea-name { font-size: 14px; }
    .design-ideas-browse .design-idea-garment { font-size: 13px; }
    .design-ideas-browse .design-idea-price strong { font-size: 15px; }
    .design-ideas-browse .designideabox .highlight { padding: 10px 10px 0; font-size: 14px; }
    .design-ideas-browse .designideabox > ul { padding: 8px 10px 10px; }
    .design-ideas-browse .designideabox > ul li { width: 100%; }
    .design-ideas-browse .designideabox > ul a { min-height: 44px; display: flex; align-items: center; }
}

.design-ideas-browse .design-listing::after { display: none; }

/* Side controls are separate from the design link. No automatic rotation. */
.design-ideas-browse .design-side-gallery { position: relative; }
/* Reserve the same image canvas for every card; controls sit inside it. */
.design-ideas-browse .design-side-gallery .design-idea-image { padding-bottom: 44px; }
.design-ideas-browse .design-side-gallery [hidden] { display: none !important; }
.design-ideas-browse .design-side-gallery .design-idea-image { touch-action: pan-y pinch-zoom; }
.design-ideas-browse .design-side-arrow {
    position: absolute; top: calc(50% - 44px); width: 44px; height: 44px;
    padding: 0; border: 1px solid #e0e5eb; border-radius: 50%; color: #002a53;
    background: rgba(255,255,255,.92); cursor: pointer; font-size: 28px; line-height: 1;
}
.design-ideas-browse .design-side-prev { left: 6px; }
.design-ideas-browse .design-side-next { right: 6px; }
.design-ideas-browse .design-side-navigation { position: absolute; bottom: 0; left: 4px; right: 4px; display: flex; align-items: center; justify-content: center; gap: 0 6px; padding: 0; min-height: 44px; }
.design-ideas-browse .design-side-label { font-size: 12px; color: #596675; }
.design-ideas-browse .design-side-dots { display: flex; justify-content: center; }
.design-ideas-browse .design-side-dot { display: flex; align-items: center; justify-content: center; border: 0; padding: 0; width: 28px; height: 44px; background: transparent; cursor: pointer; }
.design-ideas-browse .design-side-dot::before { content: ''; width: 7px; height: 7px; border: 1px solid #8395a6; border-radius: 50%; }
.design-ideas-browse .design-side-dot[aria-pressed="true"]::before { background: #002a53; border-color: #002a53; }
.design-ideas-browse .design-side-gallery button:focus-visible { outline: 2px solid #002a53; outline-offset: 2px; }
@media (max-width: 767.98px) {
    .design-ideas-browse .design-side-arrow { display: none; }
    .design-ideas-browse .design-side-navigation { gap: 0; }
    .design-ideas-browse .design-side-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}

/* Contain legacy pagination floats before the shared gallery and reviews. */
.product-images-list.design-ideas-browse { display: flow-root; }
.design-ideas-browse .design-ideas-pagination {
    display: flow-root; clear: both; padding: 8px 0 20px;
}
.design-ideas-browse .design-ideas-pagination .pagination {
    float: none !important; justify-content: center; margin: 0;
}
/* Main hub categories have a compact navigation layout. */
.design-hub-title h2 { font-size:26px; line-height:1.3; margin-bottom:8px; color:#002a53; }
.design-hub-title p { margin-bottom:16px; }
.product-images-list.design-ideas-hub .design-listing { align-items:start; }
.design-ideas-hub .designideabox .image-box { display:flex; align-items:center; justify-content:center; height:260px; aspect-ratio:auto; padding:12px; }
.design-ideas-hub .designideabox .image-box img { min-height:0 !important; height:100% !important; object-fit:contain; }
.design-ideas-hub .design-hub-category-title { margin:0; padding:0 12px 2px; font-size:16px; font-weight:500; line-height:1.4; }
.design-ideas-hub .design-hub-category-title a { display:flex; align-items:center; min-height:32px; color:#002a53; text-decoration:none; overflow-wrap:anywhere; }
.design-ideas-hub .design-hub-subcategories { border-top:1px solid #edf0f3; margin:0 12px; }
.design-ideas-hub .design-hub-subcategories summary { display:flex; align-items:center; justify-content:space-between; min-height:44px; font-size:13px; color:#596675; list-style:none; cursor:pointer; gap:6px; }
.design-ideas-hub .design-hub-subcategories summary::-webkit-details-marker { display:none; }
.design-ideas-hub .design-hub-subcategories summary::after { content:'+'; font-size:18px; flex:none; }
.design-ideas-hub .design-hub-subcategories[open] summary::after { content:'−'; }
.design-ideas-hub .design-hub-subcategories summary:focus-visible { outline:2px solid #002a53; outline-offset:2px; }
.design-ideas-hub .design-hub-subcategories ul { list-style:none; margin:0; padding:0 0 8px; }
.design-ideas-hub .design-hub-subcategories ul li { float:none; display:block; width:100% !important; margin:0; padding:0; }
.product-images-list.design-ideas-hub .design-hub-subcategories ul a { display:flex; align-items:center; min-height:26px; padding:3px 0; font-size:13px; line-height:1.4; overflow-wrap:anywhere; }
@media(max-width:767.98px) {
 .design-hub-title h2 { font-size:23px; }
 .design-hub-title p { font-size:14px; line-height:1.5; }
 .design-ideas-hub .designideabox .image-box { height:clamp(160px,50vw,210px); padding:8px; }
 .design-ideas-hub .design-hub-category-title { font-size:15px; }
 .design-ideas-hub .design-hub-category-title a { min-height:36px; }
}

.design-ideas-hub .designideabox > .design-hub-quick-links { list-style:none; padding:0 12px 4px; margin:0; }
.product-images-list.design-ideas-hub .design-hub-quick-links li { float:none; display:block; width:100% !important; padding:0; margin:0; }
.product-images-list.design-ideas-hub .design-hub-quick-links a { display:flex; align-items:center; min-height:26px; padding:3px 0; font-size:13px; line-height:1.4; overflow-wrap:anywhere; }
@media(min-width:768px) {
 .design-ideas-hub .design-hub-subcategories { border-top:0; }
 .design-ideas-hub .design-hub-subcategories summary { display:none; }
}

/* Compact subcategory rows while preserving comfortable mobile targets. */
@media(max-width:767.98px) {
 .product-images-list.design-ideas-hub .design-hub-quick-links a,
 .product-images-list.design-ideas-hub .design-hub-subcategories ul a { min-height:32px; }
}

/* Product search pages keep the query and offer comfortable touch targets. */
.search-product-range { margin:0 0 20px; color:#56616e; }
.search-product-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px; margin-top:24px; }
.search-product-pagination a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 14px; border:1px solid #ccd8e1; border-radius:8px; color:#002a53; background:#fff; text-decoration:none; }
.search-product-pagination a:hover { background:#edf4f8; }
.search-product-pagination a:focus-visible { outline:2px solid #002a53; outline-offset:3px; }
.search-product-pagination span { font-size:14px; color:#56616e; }
