/*
Theme Name: Centar Madrugada
Theme URI: https://centarmadrugada.hr/
Author: Centar Madrugada
Description: Minimalna vlastita tema za Centar Madrugada. Bez Elementora; poslovna logika ostaje u custom pluginima.
Version: 0.1.1
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Text Domain: centar-madrugada
*/

:root{
  --cm-purple:#8324e4;
  --cm-purple-dark:#6f1fc3;
  --cm-ink:#2e2234;
  --cm-muted:#756a7a;
  --cm-line:rgba(62,38,73,.10);
  --cm-soft:#faf7fc;
  --cm-card:#ffffff;
  --cm-content:1140px;
  --cm-narrow:860px;
  --cm-radius:18px;
  --cm-shadow:0 18px 48px rgba(45,24,57,.08);
}

*,
*::before,
*::after{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  background:#fff;
  color:var(--cm-ink);
  font-family:inherit;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{
  max-width:100%;
  height:auto;
}

a{
  color:var(--cm-purple);
  text-decoration-thickness:.08em;
  text-underline-offset:.14em;
}

a:hover{color:var(--cm-purple-dark)}

button,
input,
select,
textarea{
  font:inherit;
}

.cm-theme-main{
  min-height:56vh;
}

.cm-theme-wrap{
  width:min(calc(100% - 40px), var(--cm-content));
  margin:0 auto;
  padding:56px 0 72px;
}

.cm-theme-wrap--narrow{
  width:min(calc(100% - 40px), var(--cm-narrow));
}

.cm-page-header{
  margin:0 0 30px;
}

.cm-page-kicker{
  display:inline-block;
  margin-bottom:8px;
  color:var(--cm-purple);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.cm-page-title{
  margin:0;
  color:var(--cm-ink);
  font-size:clamp(2rem,4vw,3.35rem);
  line-height:1.08;
  letter-spacing:-.025em;
}

.cm-entry-content{
  color:#433848;
  font-size:1rem;
}

.cm-entry-content > *:first-child{margin-top:0}
.cm-entry-content > *:last-child{margin-bottom:0}

.cm-entry-content h2,
.cm-entry-content h3,
.cm-entry-content h4{
  margin-top:1.7em;
  color:var(--cm-ink);
  line-height:1.2;
}

.cm-entry-content h2{font-size:clamp(1.55rem,2.5vw,2.15rem)}
.cm-entry-content h3{font-size:1.35rem}

.cm-entry-content p,
.cm-entry-content ul,
.cm-entry-content ol,
.cm-entry-content blockquote{
  margin:0 0 1.15em;
}

.cm-entry-content ul,
.cm-entry-content ol{
  padding-left:1.3em;
}

.cm-entry-content blockquote{
  padding:18px 22px;
  border-left:4px solid var(--cm-purple);
  border-radius:0 14px 14px 0;
  background:var(--cm-soft);
}

.cm-entry-content table{
  width:100%;
  border-collapse:collapse;
  margin:1.4em 0;
}

.cm-entry-content th,
.cm-entry-content td{
  padding:12px 14px;
  border:1px solid var(--cm-line);
  text-align:left;
  vertical-align:top;
}

.cm-generic-card{
  padding:32px;
  border:1px solid var(--cm-line);
  border-radius:var(--cm-radius);
  background:var(--cm-card);
  box-shadow:var(--cm-shadow);
}

/* WooCommerce – osnovni fallback stilovi; glavni checkout ostaje u custom pluginu. */
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button{
  border-radius:12px!important;
  border:1px solid rgba(131,36,228,.18)!important;
  background:#f4eafb!important;
  color:#6e25a6!important;
  font-weight:750!important;
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover{
  background:#e9d8f7!important;
  color:#5d1d92!important;
}

.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt{
  border-color:var(--cm-purple)!important;
  background:var(--cm-purple)!important;
  color:#fff!important;
}

.woocommerce .button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover{
  background:var(--cm-purple-dark)!important;
  color:#fff!important;
}

.woocommerce table.shop_table{
  border-color:var(--cm-line)!important;
  border-radius:16px!important;
  overflow:hidden;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td{
  padding:14px!important;
  border-color:var(--cm-line)!important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  min-height:44px;
  border:1px solid rgba(82,55,94,.18)!important;
  border-radius:11px!important;
  background:#fff!important;
  color:var(--cm-ink)!important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border-top-color:var(--cm-purple)!important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{
  color:var(--cm-purple)!important;
}

.woocommerce-account .woocommerce{
  width:min(calc(100% - 40px), var(--cm-content));
  margin:0 auto;
  padding:48px 0 72px;
}

.woocommerce-account .woocommerce-MyAccount-navigation{
  border:1px solid var(--cm-line);
  border-radius:16px;
  background:var(--cm-soft);
  padding:12px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none;
  margin:0;
  padding:0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:block;
  padding:10px 12px;
  border-radius:10px;
  text-decoration:none;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{
  background:#eee3f6;
  color:#5f2192;
  font-weight:750;
}

.cm-404-page{
  background:
    radial-gradient(circle at 86% 8%, rgba(236,145,188,.16), transparent 28%),
    radial-gradient(circle at 12% 86%, rgba(131,36,228,.10), transparent 30%),
    #fff;
}

.cm-404-shell{
  min-height:66vh;
  display:grid;
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
  align-items:center;
  gap:clamp(42px,7vw,92px);
  padding:clamp(34px,5vw,72px) 0;
}

.cm-404-visual{
  position:relative;
  aspect-ratio:1 / 1;
  width:min(100%,430px);
  margin-inline:auto;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(131,36,228,.10);
  border-radius:36px;
  background:
    linear-gradient(145deg,rgba(251,245,255,.96),rgba(255,255,255,.92));
  box-shadow:0 28px 80px rgba(73,34,92,.09);
}

.cm-404-visual strong{
  position:relative;
  z-index:3;
  margin-top:22%;
  color:#3b2945;
  font-size:clamp(4.8rem,11vw,8.8rem);
  font-weight:900;
  line-height:1;
  letter-spacing:-.075em;
}

.cm-404-sun{
  position:absolute;
  z-index:2;
  top:16%;
  left:50%;
  width:clamp(74px,18%,105px);
  aspect-ratio:1;
  transform:translateX(-50%);
  border-radius:50%;
  background:linear-gradient(145deg,#ef9abb,#e47fa9);
  box-shadow:0 18px 50px rgba(225,103,157,.24);
}

.cm-404-ring{
  position:absolute;
  z-index:1;
  left:50%;
  top:48%;
  border:2px solid rgba(151,78,226,.26);
  border-radius:50%;
  transform:translate(-50%,-50%);
}

.cm-404-ring--1{width:72%;height:28%}
.cm-404-ring--2{width:88%;height:38%}
.cm-404-ring--3{width:104%;height:50%}

.cm-404-copy{
  max-width:690px;
}

.cm-404-copy h1{
  max-width:660px;
  margin:0 0 18px;
  color:var(--cm-ink);
  font-size:clamp(2.25rem,4.6vw,4.35rem);
  line-height:1.02;
  letter-spacing:-.045em;
}

.cm-404-lead{
  max-width:630px;
  margin:0 0 28px;
  color:#6f6275;
  font-size:clamp(1rem,1.5vw,1.12rem);
  line-height:1.7;
}

.cm-404-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 12px;
  margin-bottom:36px;
}

.cm-404-text-link{
  display:inline-flex;
  min-height:46px;
  align-items:center;
  padding:10px 8px;
  color:#6c2ba0!important;
  font-weight:800;
  text-decoration:none!important;
}

.cm-404-text-link:hover{
  color:var(--cm-purple)!important;
}

.cm-404-links{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.cm-404-links a{
  position:relative;
  min-height:132px;
  padding:18px 42px 18px 18px;
  border:1px solid var(--cm-line);
  border-radius:16px;
  background:rgba(255,255,255,.78);
  color:var(--cm-ink)!important;
  text-decoration:none!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.cm-404-links a:hover{
  transform:translateY(-2px);
  border-color:rgba(131,36,228,.22);
  box-shadow:0 14px 34px rgba(55,31,68,.07);
}

.cm-404-links span{
  display:block;
  margin-bottom:8px;
  color:#8b7d90;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.cm-404-links strong{
  display:block;
  font-size:.92rem;
  line-height:1.4;
}

.cm-404-links i{
  position:absolute;
  top:18px;
  right:18px;
  color:var(--cm-purple);
  font-style:normal;
  font-size:1.05rem;
}

.cm-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:11px 17px;
  border-radius:12px;
  background:var(--cm-purple);
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800;
}

.cm-button:hover{background:var(--cm-purple-dark);color:#fff!important}

.cm-button--secondary{
  background:#f3eafa;
  color:#69249d!important;
}

.cm-button--secondary:hover{
  background:#eadcf5;
  color:#5d1e90!important;
}

@media(max-width:780px){
  .cm-404-shell{
    min-height:auto;
    grid-template-columns:1fr;
    gap:30px;
    padding:20px 0 48px;
  }

  .cm-404-visual{
    width:min(76vw,330px);
    border-radius:26px;
  }

  .cm-404-copy{
    text-align:center;
    margin-inline:auto;
  }

  .cm-404-copy h1,
  .cm-404-lead{
    margin-left:auto;
    margin-right:auto;
  }

  .cm-404-actions{
    justify-content:center;
  }

  .cm-404-links{
    grid-template-columns:1fr;
    text-align:left;
  }

  .cm-404-links a{
    min-height:96px;
  }

  .cm-theme-wrap{
    width:min(calc(100% - 28px), var(--cm-content));
    padding:38px 0 54px;
  }

  .cm-generic-card{
    padding:22px;
    border-radius:15px;
  }

  .woocommerce-account .woocommerce{
    width:min(calc(100% - 28px), var(--cm-content));
    padding:36px 0 54px;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content{
    float:none!important;
    width:100%!important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation{
    margin-bottom:24px;
  }
}
