/*
Theme Name:         Sw Paradise Child Theme
Theme URI:          http://wp.smartaddons.com/themes/sw_paradise/
Description:        SW Paradise child theme customized for Iris Petals storefront.
Author:             Smartaddons
Author URI:         http://smartaddons.com/
Template:           sw-paradise
Version:            1.6.0
License:            GNU General Public License v2 or later
*/

:root {
  --iris-bg: #f8f4ef;
  --iris-paper: #ffffff;
  --iris-ink: #261a1f;
  --iris-muted: #6f5a64;
  --iris-line: #e6d6dd;
  --iris-accent: #8a1f49;
  --iris-accent-strong: #6e1437;
  --iris-soft: #fff5f8;
  --iris-shadow: 0 12px 30px rgba(44, 17, 29, 0.12);
  --iris-radius: 18px;
  --iris-container: 1220px;
}

* {
  box-sizing: border-box;
}

body {
  background: radial-gradient(circle at 15% 0, #f7e8ee 0, transparent 36%),
    radial-gradient(circle at 95% 10%, #f1e8db 0, transparent 30%),
    var(--iris-bg);
  color: var(--iris-ink);
  font-family: Manrope, "Segoe UI", sans-serif;
  line-height: 1.6;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Playfair Display", Georgia, serif;
  letter-spacing: 0.01em;
  color: #24141b;
}

a {
  color: var(--iris-accent);
  transition: 0.25s ease;
}

a:hover {
  color: var(--iris-accent-strong);
}

.header-,
.sw_paradise_breadcrumbs,
#footer.footer,
.products-nav .button-filter,
.modal#login_form,
.modal#search_form {
  display: none !important;
}

.body-wrapper,
.container,
.sidebar-row,
#contents,
#primary,
.site-main,
.products-wrapper {
  width: 100%;
  max-width: 100%;
}

body.iris-theme-live {
  padding-top: 98px;
}

.iris-shell-container {
  width: min(var(--iris-container), calc(100% - 32px));
  margin: 0 auto;
}

.iris-shell-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 900;
  background: rgba(248, 244, 239, 0.96);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(143, 84, 110, 0.16);
}

.iris-topbar {
  min-height: 88px;
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr) 280px auto;
  align-items: center;
  gap: 12px;
}

.iris-brand {
  text-decoration: none;
  display: inline-flex;
  flex-direction: column;
}

.iris-brand strong {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 30px;
  line-height: 1;
  color: #321824;
}

.iris-brand span {
  margin-top: 6px;
  color: #735e68;
  font-size: 12px;
  font-weight: 600;
}

.iris-main-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}

.iris-main-nav a {
  text-decoration: none;
  color: #2c1b23;
  font-weight: 700;
  font-size: 13px;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 8px 12px;
}

.iris-main-nav a:hover {
  background: #fff;
  border-color: #dbc4cf;
}

.iris-top-search {
  display: flex;
  align-items: center;
  background: #fff;
  border: 1px solid #e1cad4;
  border-radius: 999px;
  padding: 0 6px 0 12px;
  min-height: 44px;
}

.iris-top-search input {
  width: 100%;
  border: 0;
  background: transparent;
  font-size: 13px;
  color: #34222a;
}

.iris-top-search input:focus {
  outline: none;
}

.iris-top-search button {
  width: 32px;
  height: 32px;
  border: 0;
  background: #f6eaf0;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.iris-top-search svg,
.iris-icon-link svg,
.iris-fab-wa svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.iris-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.iris-icon-link {
  width: 38px;
  height: 38px;
  border: 1px solid #debfcb;
  border-radius: 999px;
  color: #2d1b23;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  text-decoration: none;
}

.iris-icon-link:hover {
  border-color: #c598ab;
}

.iris-cart-count {
  position: absolute;
  min-width: 20px;
  height: 20px;
  border-radius: 999px;
  background: var(--iris-accent);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  top: -7px;
  right: -7px;
}

.iris-menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  border: 1px solid #d8bcc9;
  border-radius: 12px;
  background: #fff;
  padding: 8px;
}

.iris-menu-toggle span {
  display: block;
  height: 2px;
  background: #2e1b24;
  margin: 5px 0;
}

.iris-shell-footer {
  margin-top: 34px;
  background: #1e1016;
  color: #efe6eb;
  padding: 36px 0 24px;
}

.iris-footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 18px;
}

.iris-footer-grid h3 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 22px;
}

.iris-footer-grid p,
.iris-footer-grid a {
  margin: 0;
  font-size: 14px;
  color: #d7c7cf;
  line-height: 1.8;
  display: block;
  text-decoration: none;
}

.iris-footer-grid a:hover {
  color: #fff;
}

.iris-footer-note {
  text-align: center;
  margin: 20px 0 0;
  color: #bfaeb6;
  font-size: 13px;
}

.iris-home-wrap {
  width: min(var(--iris-container), calc(100% - 32px));
  margin: 0 auto;
  padding: 10px 0 26px;
}

.iris-hero {
  background: linear-gradient(130deg, #fff8fb 0%, #fff 52%, #fff5ea 100%);
  border: 1px solid var(--iris-line);
  border-radius: 26px;
  overflow: hidden;
  box-shadow: var(--iris-shadow);
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  min-height: 530px;
}

.iris-hero-copy {
  padding: 38px 34px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
}

.iris-badge {
  display: inline-flex;
  width: fit-content;
  min-height: 34px;
  align-items: center;
  border-radius: 999px;
  padding: 0 14px;
  background: #f9dfe8;
  border: 1px solid #eec9d7;
  color: #74233e;
  font-size: 12px;
  font-weight: 800;
}

.iris-hero h1 {
  margin: 0;
  font-size: clamp(34px, 4.4vw, 60px);
  line-height: 1.08;
}

.iris-hero p {
  margin: 0;
  font-size: 18px;
  line-height: 1.85;
  color: var(--iris-muted);
}

.iris-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.iris-btn {
  min-height: 46px;
  border-radius: 12px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 800;
  border: 1px solid transparent;
}

.iris-btn-primary {
  background: var(--iris-accent);
  color: #fff;
  border-color: var(--iris-accent);
}

.iris-btn-primary:hover {
  background: var(--iris-accent-strong);
  color: #fff;
}

.iris-btn-soft {
  background: #fff;
  border-color: #dfc7d1;
  color: #291921;
}

.iris-btn-soft:hover {
  background: #fff2f7;
  color: #291921;
}

.iris-kpi-grid {
  margin-top: 8px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.iris-kpi-grid > div {
  background: #fff;
  border: 1px solid #ead8df;
  border-radius: 12px;
  padding: 10px;
}

.iris-kpi-grid strong {
  display: block;
  font-size: 15px;
  line-height: 1.3;
}

.iris-kpi-grid span {
  display: block;
  margin-top: 2px;
  color: #755f68;
  font-size: 12px;
}

.iris-hero-media {
  position: relative;
}

.iris-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(170deg, rgba(35, 14, 24, 0.2), rgba(35, 14, 24, 0.03));
}

.iris-hero-media img {
  width: 100%;
  height: 100%;
  min-height: 530px;
  object-fit: cover;
  display: block;
}

.iris-search-block,
.iris-quick-filters,
.iris-collections,
.iris-featured,
.iris-bottom-trust,
.iris-shop-hero,
.iris-shop-filters,
.products-loop,
.single-product div.product,
.woocommerce-cart,
.woocommerce-checkout {
  margin-top: 16px;
}

.iris-search {
  background: #fff;
  border: 1px solid var(--iris-line);
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(40, 16, 28, 0.08);
  padding: 12px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.iris-search input[type="search"] {
  flex: 1 1 300px;
  min-height: 48px;
  border: 1px solid #dfbeca;
  border-radius: 12px;
  padding: 0 14px;
  font-size: 15px;
}

.iris-search button {
  min-height: 48px;
  border: 0;
  border-radius: 12px;
  padding: 0 20px;
  background: var(--iris-accent);
  color: #fff;
  font-weight: 800;
}

.iris-quick-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.iris-quick-filters a {
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid #e3ccd4;
  background: #fff8fa;
  color: #7a2140;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.iris-collections,
.iris-featured,
.iris-bottom-trust,
.iris-shop-hero,
.iris-shop-filters,
.single-product div.product,
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-cart .wc-block-components-sidebar,
.woocommerce-checkout .wc-block-components-sidebar {
  background: #fff;
  border: 1px solid var(--iris-line);
  border-radius: 20px;
  box-shadow: 0 9px 24px rgba(40, 18, 30, 0.08);
  padding: 22px;
}

.iris-headline h2 {
  margin: 0;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.2;
}

.iris-headline p {
  margin: 8px 0 0;
  color: var(--iris-muted);
  font-size: 16px;
  line-height: 1.8;
}

.iris-collections-grid,
.iris-products-grid {
  margin-top: 16px;
  display: grid;
  gap: 12px;
}

.iris-collections-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.iris-collections-grid article,
.iris-product-card,
.products-loop .item {
  background: #fff;
  border: 1px solid #ead9df;
  border-radius: 16px;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.iris-collections-grid article:hover,
.iris-product-card:hover,
.products-loop .item:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(45, 19, 30, 0.13);
}

.iris-collections-grid img,
.iris-product-card .iris-thumb img,
.products-loop .item-img img {
  width: 100%;
  height: 230px;
  object-fit: cover;
  display: block;
}

.products-loop {
  margin-left: 0;
  margin-right: 0;
  display: grid !important;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.products-loop .item {
  width: auto;
  float: none;
}

.products-loop .item .item-content {
  padding: 14px;
}

.products-loop .item h4 {
  margin: 0;
  font-size: 24px;
  line-height: 1.3;
}

.products-loop .item .item-description {
  min-height: auto;
  color: var(--iris-muted);
}

.products-loop .item .button {
  border-radius: 12px;
  background: var(--iris-accent);
  color: #fff;
  border: 1px solid var(--iris-accent);
  font-weight: 700;
}

.products-loop .item .button:hover {
  background: var(--iris-accent-strong);
}

.iris-collections-grid article > div,
.iris-product-body {
  padding: 14px;
}

.iris-collections-grid h3,
.iris-product-body h3 {
  margin: 0;
  font-size: 24px;
  line-height: 1.3;
}

.iris-collections-grid p,
.iris-product-body p {
  margin: 8px 0;
  font-size: 14px;
  line-height: 1.75;
  color: var(--iris-muted);
}

.iris-collections-grid a {
  min-height: 36px;
  padding: 0 12px;
  border-radius: 10px;
  background: var(--iris-accent);
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.iris-products-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.iris-price {
  color: #6f1837;
  font-weight: 700;
  margin-top: 8px;
}

.iris-product-body h3 a {
  color: #28161d;
  text-decoration: none;
}

.iris-bottom-trust {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.iris-bottom-trust > div {
  border: 1px solid #e8d7de;
  border-radius: 12px;
  background: linear-gradient(145deg, #fff7fa, #fff);
  padding: 12px;
}

.iris-bottom-trust strong {
  display: block;
  font-size: 17px;
}

.iris-bottom-trust span {
  display: block;
  margin-top: 3px;
  color: #726068;
  font-size: 13px;
  line-height: 1.7;
}

.iris-shop-hero h1 {
  margin: 0;
  font-size: clamp(30px, 4.2vw, 52px);
}

.iris-shop-hero p {
  margin: 8px 0 0;
  color: #6f5963;
}

.iris-shop-filters {
  margin-bottom: 12px;
}

.iris-shop-filter-row {
  display: grid;
  grid-template-columns: 1.15fr repeat(5, minmax(0, 1fr)) auto auto;
  gap: 8px;
}

.iris-shop-filter-row input,
.iris-shop-filter-row select,
.iris-shop-filter-row button,
.iris-shop-filter-row .iris-reset-link {
  min-height: 46px;
  border-radius: 12px;
  border: 1px solid #dfc2ce;
  padding: 0 12px;
  font-size: 13px;
  color: #2e1b24;
  background: #fff;
}

.iris-shop-filter-row button {
  border-color: var(--iris-accent);
  background: var(--iris-accent);
  color: #fff;
  font-weight: 700;
}

.iris-shop-filter-row .iris-reset-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  background: #f8edf2;
  border-color: #e3ced7;
  font-weight: 700;
}

.single-product .summary {
  padding: 8px 0;
}

.single-product .summary .product_title {
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.15;
}

.single-product .price {
  color: #762041 !important;
  font-size: 30px !important;
  font-weight: 700;
}

.single-product form.cart {
  margin-top: 16px;
  border-top: 1px solid var(--iris-line);
  padding-top: 16px;
}

.single-product .variations label {
  font-weight: 700;
  color: #2f1b24;
}

.single-product .variations select,
.single-product .qty {
  min-height: 44px;
  border: 1px solid #ddbfc9;
  border-radius: 10px;
}

.single-product .single_add_to_cart_button {
  min-height: 48px;
  border-radius: 12px;
  background: var(--iris-accent);
  color: #fff;
  font-weight: 700;
  border: 1px solid var(--iris-accent);
}

.single-product .single_add_to_cart_button:hover {
  background: var(--iris-accent-strong);
}

.iris-product-points {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.iris-product-points li {
  margin: 7px 0;
  padding-left: 22px;
  position: relative;
  color: #6d5b62;
  font-size: 14px;
}

.iris-product-points li::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: var(--iris-accent);
  position: absolute;
  left: 6px;
  top: 8px;
}

.iris-product-addons {
  margin-top: 14px;
  background: #fff6f9;
  border: 1px solid #ebd7df;
  border-radius: 14px;
  padding: 14px;
}

.iris-product-addons h4 {
  margin: 0 0 10px;
  font-size: 24px;
}

.iris-addon-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.iris-addon-grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
}

.iris-addon-grid select,
.iris-addon-grid textarea {
  border: 1px solid #ddc1ce;
  border-radius: 10px;
  padding: 10px;
  font-size: 13px;
  font-weight: 500;
  background: #fff;
}

.iris-addon-grid .iris-addon-message {
  grid-column: 1 / -1;
}

.iris-cart-note,
.iris-checkout-note {
  margin-bottom: 14px;
  border: 1px solid #e7cfd9;
  border-radius: 12px;
  padding: 12px 14px;
  background: #fff7fa;
  color: #5f4952;
  font-weight: 600;
}

.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  border-radius: 12px;
  background: var(--iris-accent);
  color: #fff;
  border: 1px solid var(--iris-accent);
  font-weight: 700;
}

.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--iris-accent-strong);
  color: #fff;
}

.woocommerce .cart-collaterals,
.woocommerce-checkout-review-order,
.wc-block-cart,
.wc-block-checkout {
  border: 1px solid #e6d6dd;
  border-radius: 16px;
  padding: 14px;
  background: #fff;
}

.iris-fab-wa {
  width: 52px;
  height: 52px;
  border-radius: 999px;
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 1001;
  color: #fff;
  background: #1ebc55;
  box-shadow: 0 12px 20px rgba(30, 188, 85, 0.36);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.iris-fab-wa:hover {
  color: #fff;
  transform: translateY(-2px);
}

@media (max-width: 1200px) {
  .iris-topbar {
    grid-template-columns: 220px minmax(0, 1fr) 220px auto;
  }

  .iris-shop-filter-row {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .iris-shop-filter-row input,
  .iris-shop-filter-row select,
  .iris-shop-filter-row button,
  .iris-shop-filter-row .iris-reset-link {
    width: 100%;
  }
}

@media (max-width: 980px) {
  body.iris-theme-live {
    padding-top: 86px;
  }

  .iris-topbar {
    grid-template-columns: 1fr auto auto;
    gap: 10px;
    min-height: 78px;
  }

  .iris-menu-toggle {
    display: inline-block;
    order: 2;
  }

  .iris-actions {
    order: 3;
  }

  .iris-main-nav,
  .iris-top-search {
    grid-column: 1 / -1;
    display: none;
  }

  .iris-shell-header.is-open .iris-main-nav,
  .iris-shell-header.is-open .iris-top-search {
    display: flex;
  }

  .iris-main-nav {
    width: 100%;
    justify-content: flex-start;
    gap: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e4ccd6;
  }

  .iris-top-search {
    width: 100%;
    margin-bottom: 10px;
  }

  .iris-hero {
    grid-template-columns: 1fr;
  }

  .iris-hero-media {
    order: -1;
  }

  .iris-hero-media img {
    min-height: 320px;
    max-height: 360px;
  }

  .iris-kpi-grid,
  .iris-bottom-trust,
  .iris-collections-grid,
  .iris-footer-grid,
  .products-loop,
  .iris-products-grid {
    grid-template-columns: 1fr 1fr;
  }

  .iris-addon-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .iris-shell-container,
  .iris-home-wrap {
    width: min(var(--iris-container), calc(100% - 20px));
  }

  .iris-brand strong {
    font-size: 26px;
  }

  .iris-hero-copy {
    padding: 20px 14px;
  }

  .iris-hero h1 {
    font-size: 38px;
  }

  .iris-hero p {
    font-size: 16px;
    line-height: 1.7;
  }

  .iris-search input[type="search"],
  .iris-search button,
  .iris-kpi-grid,
  .iris-bottom-trust,
  .iris-collections-grid,
  .iris-products-grid,
  .products-loop,
  .iris-footer-grid,
  .iris-shop-filter-row {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .iris-collections,
  .iris-featured,
  .iris-bottom-trust,
  .iris-shop-hero,
  .iris-shop-filters,
  .single-product div.product,
  .woocommerce-cart .entry-content,
  .woocommerce-checkout .entry-content {
    padding: 16px 12px;
  }
}
