/* Hasaa Shop */
.shop-page{background:#fff}.shop-hero{padding:0 0 1px;background:#f5f5f3}.shop-hero-inner{min-height:245px;display:flex;align-items:center;justify-content:space-between}.shop-hero-inner span{font-size:10px;letter-spacing:2px;font-weight:800;color:#ef3340}.shop-hero h1{font-size:46px;letter-spacing:-2px;margin:10px 0 7px;font-weight:800}.shop-hero p{color:#777;font-size:13px;margin:0}.shop-hero-number{font-size:80px;line-height:.8;font-weight:800;letter-spacing:-6px;color:#ddd;text-align:right}.shop-hero-number small{display:block;font-size:8px;letter-spacing:2px;color:#999;letter-spacing:1px}
.shop-content{padding:35px 0 80px}.shop-search{display:flex;gap:10px;margin-bottom:30px}.search-input{flex:1;position:relative}.search-input i{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:#999}.search-input input{width:100%;height:48px;border:1px solid #dedee2;border-radius:9px;padding:0 18px 0 45px;font:inherit;font-size:12px;outline:0;transition:.25s}.search-input input:focus{border-color:#111;box-shadow:0 0 0 3px #00000008}.shop-search>button{border:0;background:#0a0a0c;color:#fff;border-radius:9px;padding:0 25px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.shop-layout{display:grid;grid-template-columns:220px 1fr;gap:42px}.shop-sidebar{border-right:1px solid #eee;padding-right:25px}.sidebar-title{font-size:11px;font-weight:800;letter-spacing:1px;margin-bottom:25px}.mobile-filter-close{display:none}.filter-block h3{font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-bottom:13px}.filter-block>a{display:flex;justify-content:space-between;align-items:center;color:#777;font-size:11px;padding:8px 0;transition:.2s}.filter-block>a:hover,.filter-block>a.selected{color:#ef3340;font-weight:800}.filter-block>a span{font-size:9px;color:#aaa}.filter-note{margin-top:38px;padding:18px;border-radius:13px;background:#f7f4fb}.filter-note i{color:#7c3aed;font-size:20px}.filter-note strong,.filter-note span{display:block}.filter-note strong{font-size:11px;margin-top:9px}.filter-note span{font-size:9px;line-height:1.6;color:#888;margin:5px 0 10px}.filter-note a{font-size:9px;font-weight:800;color:#7c3aed}
.results-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;color:#888;font-size:10px}.results-toolbar strong{color:#222}.filter-toggle{display:none}.sort-form{display:flex;align-items:center;gap:8px}.sort-form label{text-transform:uppercase;color:#999;font-size:8px;letter-spacing:.8px}.sort-form select{border:1px solid #ddd;border-radius:7px;background:#fff;padding:8px 27px 8px 10px;font-size:10px;outline:0}
.shop-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 18px}.shop-product-card{min-width:0}.shop-product-image{height:355px;display:block;position:relative;overflow:hidden;border-radius:13px;background:#eee}.shop-placeholder{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 32% 25%,#7c3aed25,transparent 30%),linear-gradient(145deg,#f0f0f1,#d5d5d9);transition:.45s}.shop-product-card:nth-child(2n) .shop-placeholder{background:radial-gradient(circle at 70% 25%,#ef334025,transparent 30%),linear-gradient(145deg,#f0f0f1,#d8d5dc)}.shop-placeholder span{width:135px;height:175px;border-radius:60px 60px 15px 15px;background:linear-gradient(145deg,#29292e,#101012);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:800;letter-spacing:2px;transform:rotate(4deg);box-shadow:25px 25px 40px #0003}.shop-product-card:nth-child(2n) .shop-placeholder span{background:linear-gradient(145deg,#c8c0d5,#776b86)}.shop-product-card:nth-child(3n) .shop-placeholder span{background:linear-gradient(145deg,#6d222b,#211013)}.shop-badge{position:absolute;top:12px;left:12px;z-index:3;padding:5px 8px;border-radius:5px;background:#09090b;color:#fff;font-size:8px;font-weight:900}.shop-badge.sale{background:#ef3340}.shop-wishlist{position:absolute;z-index:4;top:11px;right:11px;border:0;background:#fffc;width:36px;height:36px;border-radius:50%;font-size:15px;transition:.25s}.shop-wishlist:hover{color:#ef3340;transform:scale(1.08)}.shop-quick{position:absolute;z-index:3;bottom:12px;left:12px;right:12px;padding:11px;border-radius:8px;background:#09090be8;color:#fff;text-align:center;font-size:9px;font-weight:800;transform:translateY(55px);transition:.3s}.shop-product-image:hover .shop-quick{transform:translateY(0)}.shop-product-image:hover .shop-placeholder{transform:scale(1.025)}.shop-product-info{padding:13px 2px}.shop-product-info>small{text-transform:uppercase;letter-spacing:1px;color:#999;font-size:8px;font-weight:800}.shop-product-info h2{font-size:14px;font-weight:800;margin:7px 0}.shop-product-info h2 a:hover{color:#ef3340}.shop-rating{color:#e5a100;font-size:9px}.shop-rating span{color:#aaa;margin-left:4px}.shop-price{display:flex;gap:8px;align-items:center;margin-top:7px}.shop-price strong{font-size:14px}.shop-price del{font-size:10px;color:#aaa}.variant-hint{display:inline-block;margin-top:6px;font-size:8px;color:#999}.shop-pagination{display:flex;justify-content:center;gap:6px;margin-top:48px}.shop-pagination a,.shop-pagination span{width:34px;height:34px;border:1px solid #e5e5e8;border-radius:7px;display:grid;place-items:center;font-size:10px}.shop-pagination a:hover,.shop-pagination a.active{background:#09090b;color:#fff;border-color:#09090b}.shop-pagination span{border:0;color:#999}.shop-message{text-align:center;border:1px dashed #ddd;border-radius:15px;padding:65px 25px}.empty-icon{font-size:35px;color:#ef3340}.shop-message h2{font-size:20px;margin:10px 0 5px}.shop-message p{font-size:11px;color:#888;margin-bottom:20px}.shop-message.error{color:#c22}
@media(max-width:950px){.shop-layout{grid-template-columns:190px 1fr;gap:25px}.shop-product-grid{grid-template-columns:repeat(2,1fr)}.shop-product-image{height:310px}}
@media(max-width:700px){.shop-hero-inner{min-height:190px}.shop-hero h1{font-size:36px}.shop-hero-number{font-size:55px}.shop-layout{display:block}.shop-sidebar{position:fixed;z-index:1100;top:0;left:-290px;width:275px;height:100vh;background:#fff;padding:25px;box-shadow:15px 0 40px #0002;transition:.3s;overflow:auto}.shop-sidebar.open{left:0}.mobile-filter-close{display:block;float:right;border:0;background:none}.filter-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid #ddd;background:#fff;border-radius:7px;padding:7px 10px;font-size:9px;font-weight:800}.results-toolbar{gap:10px}.sort-form label{display:none}.shop-product-grid{gap:28px 12px}}
@media(max-width:500px){.store-container{width:calc(100% - 28px)}.shop-hero-number{display:none}.shop-search{gap:6px}.shop-search>button{padding:0 14px}.shop-product-grid{grid-template-columns:repeat(2,1fr)}.shop-product-image{height:225px}.shop-placeholder span{width:90px;height:120px;font-size:17px}.shop-product-info h2{font-size:12px}.shop-price strong{font-size:12px}}
/* Luxury editorial shop refresh */
.shop-hero{background:#f0e9df!important;border-radius:0!important;color:#211811!important}.shop-hero h1{font-family:"Playfair Display",serif!important;font-weight:500!important}.shop-sidebar{border-radius:0!important;background:#fffdfa!important;border-color:#e8e2da!important}.shop-sidebar .filter-block a.selected{color:#7a4a2c!important}.shop-product-image{border-radius:0!important;background:#eee8df!important}.shop-placeholder{background:linear-gradient(145deg,#f1ede7,#d8cbbb)!important}.shop-badge{border-radius:0!important;background:#4b2c1b!important}.shop-badge.sale{background:#7a4a2c!important}.shop-product-info h2{font-family:"Playfair Display",serif!important;font-weight:500!important}.shop-product-info h2 a:hover{color:#7a4a2c!important}.shop-wishlist{border-radius:50%!important}.shop-quick{border-radius:0!important;background:#211811e8!important}.shop-pagination a:hover,.shop-pagination a.active{background:#4b2c1b!important;border-color:#4b2c1b!important}

/* Imported product image sizing */
.shop-placeholder.real-image{padding:16px;box-sizing:border-box}
.shop-placeholder.real-image img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;display:block}

/* === FINAL PRODUCT MEDIA FIX ===
   All storefront product images are locked to their media frame.
   The source image may be portrait, landscape or very large; it can never
   escape the card or stretch the page. */
.shop-product-image,
.shop-product-image .shop-placeholder,
.shop-product-image .shop-placeholder.real-image,
.product-image,
.product-image .product-placeholder,
.product-image .product-placeholder.real-image,
.related-image,
.related-image .related-placeholder {
    position: relative;
    width: 100%;
    overflow: hidden;
    min-width: 0;
    min-height: 0;
}

.shop-product-image,
.product-image,
.related-image {
    isolation: isolate;
}

.shop-product-image .shop-placeholder.real-image,
.product-image .product-placeholder.real-image {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    transform: none;
}

.shop-product-image .shop-placeholder.real-image img,
.product-image .product-placeholder.real-image img {
    position: relative;
    inset: auto;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-width: 0;
    min-height: 0;
    object-fit: contain !important;
    object-position: center center !important;
    flex: 0 0 auto;
    margin: auto;
    padding: 0;
    transform: none;
}

.shop-product-image:hover .shop-placeholder.real-image,
.product-image:hover .product-placeholder.real-image {
    transform: none;
}

.related-image .related-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.related-image .related-placeholder img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-width: 0;
    min-height: 0;
    object-fit: contain !important;
    object-position: center center !important;
    margin: auto;
}

/* === HASAA SHOP MOBILE FIX === */
@media(max-width:700px){
  .shop-hero-inner{min-height:170px;padding:20px 0}
  .shop-hero h1{font-size:34px;letter-spacing:-1px}
  .shop-content{padding:24px 0 55px}
  .shop-search{width:100%;align-items:stretch}
  .shop-search>button{min-width:76px;padding:0 12px}
  .results-toolbar{align-items:flex-start;flex-wrap:wrap}
  .sort-form{margin-left:auto}
  .shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 10px}
  .shop-product-image{height:225px}
  .shop-product-info{padding:10px 1px}
  .shop-product-info h2{line-height:1.35}
}
@media(max-width:420px){
  .shop-product-image{height:195px}
  .shop-product-info h2{font-size:11px}
  .shop-price{flex-wrap:wrap}
}

/* === HASAA RESPONSIVE STABILITY LAYER === */
@media (max-width: 700px){
  .shop-page,.shop-content,.shop-results{min-width:0;max-width:100%;overflow-x:hidden}
  .shop-search,.search-input,.results-toolbar,.sort-form{min-width:0;max-width:100%}
  .search-input input{min-width:0;width:100%}
  .shop-product-grid{min-width:0}
  .shop-product-card,.shop-product-info{min-width:0}
  .shop-product-info h2{overflow-wrap:anywhere}
  .shop-product-image{max-width:100%}
}
@media (max-width: 420px){
  .shop-search{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}
  .shop-search>button{min-width:72px}
  .results-toolbar{width:100%}
  .results-toolbar>div:first-child{max-width:100%}
  .sort-form{max-width:100%}
  .sort-form select{max-width:150px}
}
